2014-10-25 19 views
5

Tôi muốn tạo một ràng buộc "chiều rộng bằng chiều cao" cho cùng một chế độ xem (vì vậy, chế độ xem của tôi sẽ có hình vuông). Phương thức được đưa ra trong this answer không hoạt động vì nó không phải là một ràng buộc giữa hai chế độ xem khác nhau.Ràng buộc "chiều rộng bằng chiều cao" trong trình tạo giao diện, cho cùng một chế độ xem: cách tạo ràng buộc như vậy?

Có thể không?

Trả lời

13

Điều khiển + Kéo từ chế độ xem đến chính nó, sau đó đặt tỷ lệ cỡ ảnh thành 1: 1.

1

Thiết lập cửa sổ trong Trình tạo giao diện để chứa NSBox & đặt ràng buộc thành giá trị chuẩn trên tất cả các cạnh. Sau đó, thêm {IBOutlet NSBox *box;} vào AppDelegate.h & trong IB kết nối ổ cắm hộp với hộp của bạn. Trong AppDelegate.m, hãy thêm thông tin sau vào số applicationDidFinishLaunching & chạy mã. Tôi nghĩ rằng đây là những gì bạn đang sau. Nếu bạn đang thêm các ràng buộc của mình theo chương trình, hãy đảm bảo thêm đủ chiều cao & các ràng buộc chiều rộng để chỉ định những gì bạn muốn. Chỉ cần thêm loại ràng buộc này ngoài các ràng buộc khác của bạn.

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 

    box.translatesAutoresizingMaskIntoConstraints = NO; 
    [box addConstraint: 
    [NSLayoutConstraint constraintWithItem:box 
            attribute:NSLayoutAttributeWidth 
            relatedBy:NSLayoutRelationEqual 
            toItem:box 
            attribute:NSLayoutAttributeHeight 
           multiplier:1 
            constant:0]]; 
} 
Các vấn đề liên quan