2013-03-01 23 views
73

Tôi không thể tìm cách tạo giới hạn 'vuông', có nghĩa là 'chiều rộng bằng chiều cao' trong Trình tạo giao diện. Tôi đoán có thể thêm ràng buộc như vậy theo chương trình. Có điều gì tôi có thể làm trong IB? Có lẽ tôi chỉ không nhìn thấy nó? Nó có vẻ tầm thường, nhưng tôi không thể tìm thấy nó.Ràng buộc "Chiều rộng bằng chiều cao" trong Bộ dựng giao diện

+0

Tôi nhớ Peter Ammon nói về "Dựa vào bộ dựng giao diện nhiều nhất có thể" trong WWDC'12. Thật mỉa mai. – DemoniacDeath

+4

Vâng, tôi nghĩ rằng vẫn còn một vài điều thiếu từ việc thực hiện các ràng buộc bố trí. Có vẻ như họ đã cho chúng tôi quyền truy cập vào hầu hết các thông số, nhưng không phải là hệ số, điều này sẽ hữu ích cho rất nhiều thứ. – rdelmar

+0

Nhưng ngày càng tốt hơn! Ý tôi là Auto Layout đã được giới thiệu cách đây chưa đầy 3 năm và từ quan điểm của tôi, sự hỗ trợ thực sự tốt đẹp hiện nay. –

Trả lời

159

Cập nhật Xcode 5.1b5

width equals height

Ctrl + nhấp và kéo từ một cái nhìn và phát hành trong khi trỏ di chuyển qua xem. Chọn "Tỷ lệ khung hình". Nó sẽ tạo ra một ràng buộc trong đó mục đầu tiên và thứ hai là khung nhìn.


Trước Xcode 5,1

Bạn có thể không phải vì trình biên tập chiều rộng/chiều cao thiếu các lĩnh vực để liên quan đến bất động sản khác hoặc thiết lập các tỷ lệ:

width constraint

Do đó, bạn không thể diễn tả mã sau trong Trình tạo giao diện:

CGFloat ratio = 1.0; 
NSLayoutConstraint *constraint = [NSLayoutConstraint 
    constraintWithItem:myView 
    attribute:NSLayoutAttributeWidth 
    relatedBy:NSLayoutRelationEqual 
    toItem:myView 
    attribute:NSLayoutAttributeHeight 
    multiplier:ratio 
    constant:0]; 
constraint.priority = 1000; 
[myView.superview addConstraint:constraint]; 
+1

Cảm ơn bạn đã cập nhật mới nhất. Xcode 5.1 beta 5 thực sự cho phép bạn thiết lập các ràng buộc tỷ lệ khung hình trong IB, nhưng khi tôi cố gắng biên dịch dự án, tôi nhận được lỗi sau: _Giới hạn tỷ lệ rủi ro với các phiên bản Xcode trước 5.1_. Vì vậy, có lẽ chúng ta phải đợi phiên bản 5.1 cuối cùng. Tương tự cho bạn, @Jano? –

+0

Có, các thay đổi đối với XIB không tương thích ngược. Nếu bạn chỉnh sửa với 5.1, bạn không thể quay lại phiên bản thấp hơn. – Jano

+0

Vì vậy, bạn có thể biên dịch xib? Nó không hoạt động ngay cả với Xcode 5.1 beta 5 cho tôi. –

Các vấn đề liên quan