Tôi đã tạo ra một bộ điều khiển xem trông như thế này:Multiline UIButton và autolayout
Tôi muốn hai nút trên xuống luôn có 20 điểm giữa bản thân và những trái/cạnh bên phải của toàn cảnh . Chúng phải luôn luôn có cùng chiều rộng. Tôi đã tạo ra các ràng buộc cho tất cả điều này và nó hoạt động chính xác như thế nào tôi muốn nó. Vấn đề là các ràng buộc theo chiều dọc. Các nút phải luôn là 20 điểm bên dưới cạnh trên cùng. Họ nên có cùng chiều cao. Tuy nhiên, autolayout không tôn trọng điều đó nhãn trái cần hai dòng để phù hợp với tất cả các văn bản của nó, vì vậy kết quả sẽ như thế này:
Tôi muốn nó trông giống như trong hình đầu tiên. Tôi không thể thêm ràng buộc chiều cao liên tục vào các nút vì khi ứng dụng chạy trên iPad, chỉ cần một dòng là cần thiết và sẽ lãng phí khi có thêm dung lượng.
Trong viewDidLoad
Tôi cố gắng này:
- (void)viewDidLoad
{
[super viewDidLoad];
self.leftButton.titleLabel.preferredMaxLayoutWidth = (self.view.frame.size.width - 20.0 * 3)/2.0;
self.rightButton.titleLabel.preferredMaxLayoutWidth = (self.view.frame.size.width - 20.0 * 3)/2.0;
}
Nhưng điều đó không thay đổi anyhting ở tất cả.
Câu hỏi: Làm thế nào để tôi thực hiện sự tôn trọng tự động mà nút bên trái cần hai dòng?
nó có thể vì bạn có giới hạn "cùng chiều cao" trên nút bên trái. Điều đó sẽ làm cho nó có cùng chiều cao như các nút khác, thay đổi kích thước nội dung trong nút – user2277872
Tôi đã cố gắng loại bỏ ràng buộc "cùng chiều cao" nhưng nó không hoạt động. –
Bạn đã thử thêm> = ràng buộc vào nhãn để thiết lập số inset tối thiểu chưa? – jaggedcow