Cập nhật 3:
Cảnh báo này cũng có thể được kích hoạt bởi các nhãn đã numberOfLines
được đặt thành bất cứ thứ gì trừ 1 nếu mục tiêu triển khai của bạn được đặt thành 7.1. Điều này là hoàn toàn có thể tái tạo với dự án xem đơn mới.
Các bước để sinh sản:
- Tạo một dự án đơn, mục tiêu-c mới
- Đặt mục tiêu triển khai thành 7.1
- Mở bảng phân cảnh của dự án
- Thả nhãn vào bộ điều khiển xem được cung cấp
- Đặt numberOfLines cho nhãn đó thành 2.
- Biên dịch
Tôi đã nộp radar sau:
rdar: // vấn đề / 18700567
Cập nhật 2:
Thật không may, đây là một điều một lần nữa trong phiên bản phát hành của Xcode 6. Lưu ý rằng phần lớn bạn có thể chỉnh sửa bảng phân cảnh / xib của mình để khắc phục sự cố. Per Charles A. trong các ý kiến dưới đây:
Điều đáng nói là bạn có thể dễ dàng vô tình đưa ra cảnh báo này và chính cảnh báo đó không giúp ích gì trong việc tìm ra nhãn hiệu là thủ phạm. Điều này thật đáng tiếc trong một bảng phân cảnh phức tạp. Bạn có thể mở bảng phân cảnh dưới dạng tệp nguồn và tìm kiếm bằng biểu thức chính quy <label(?!.*preferredMaxLayoutWidth)
để tìm nhãn bỏ qua thuộc tính / giá trị ưa thíchMaxLayoutWidth. Nếu bạn thêm vào ưa thíchMaxLayoutWidth = "0" trên các dòng như vậy, thì cũng giống như đánh dấu rõ ràng và đặt giá trị 0.
Cập nhật 1:
Lỗi này hiện đã được sửa trong Xcode 6 GM.
Câu trả lời gốc
Đây là một lỗi trong Xcode6-Beta6 và XCode6-Beta7 và hiện có thể bỏ qua một cách an toàn.
Một kỹ sư của Apple trong diễn đàn Apple Developer đã nói điều này về lỗi này:
Chiều rộng bố cục tối đa được ưu tiên là thuộc tính bố cục tự động trên UILabel cho phép nó tự động phát triển theo chiều dọc để phù hợp với nội dung của nó. Các phiên bản Xcode trước 6.0 sẽ đặt ưu tiênMaxLayoutWidth cho nhãn đa dòng thành kích thước giới hạn hiện tại tại thời điểm thiết kế. Bạn sẽ cần cập nhật thủ côngMaxLayoutWidth theo cách thủ công khi thời gian chạy nếu bố cục ngang của bạn thay đổi.
iOS 8 đã thêm hỗ trợ để tự động tính toán ưa thíchMaxLayoutWidth khi chạy, điều này giúp việc tạo nhãn đa dòng thậm chí còn dễ dàng hơn. Cài đặt này không tương thích ngược với iOS 7. Để hỗ trợ cả iOS 7 và iOS 8, Xcode 6 cho phép bạn chọn "Tự động" hoặc "Rõ ràng" cho ưa thíchMaxLayoutWidth trong trình kiểm tra kích thước. Bạn nên:
Chọn "Tự động" nếu nhắm mục tiêu iOS 8 để có trải nghiệm tốt nhất. Chọn "Rõ ràng" nếu nhắm mục tiêu <iOS 8. Sau đó, bạn có thể nhập giá trị của ưu tiênMaxLayoutWidth mà bạn muốn đặt. Kích hoạt mặc định "Rõ ràng" cho kích thước giới hạn hiện tại tại thời điểm bạn chọn hộp.
Cảnh báo sẽ xuất hiện nếu (1) bạn đang sử dụng bố cục tự động, (2) "Tự động" được đặt cho nhãn đa dòng [bạn có thể kiểm tra điều này trong trình kiểm tra kích thước cho nhãn] và (3) mục tiêu triển khai của bạn <iOS số 8.
Có vẻ như lỗi là cảnh báo này xuất hiện đối với các tài liệu không tự động thanh toán. Nếu bạn đang thấy cảnh báo này và không sử dụng bố cục tự động, bạn có thể bỏ qua cảnh báo.
Thay phiên, bạn có thể giải quyết vấn đề bằng cách sử dụng trình kiểm tra tệp trên bảng phân cảnh hoặc xib trong câu hỏi và thay đổi "Bản dựng cho" thành "Bản dựng cho iOS 8.0 trở lên"