Câu hỏi Giới hạn "Chiều rộng bằng chiều cao" trong Trình tạo giao diện


Tôi không thể tìm thấy một cách để tạo ra một ràng buộc 'vuông', có nghĩa là 'chiều rộng bằng chiều cao' trong giao diện Builder. 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ó.


76
2018-03-01 22:03


gốc


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
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
Nhưng nó 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. - Lukas Kubanek


Các câu trả lời:


Cập nhật Xcode 5.1b5

width equals height

Ctrl + nhấp và kéo từ chế độ xem và thả trong khi con trỏ ở trên chế độ 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 không thể vì trình chỉnh sửa chiều rộng / chiều cao thiếu các trường liên quan đến thuộc tính khác hoặc đặt 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];

163
2018-04-18 17:53



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: Các ràng buộc tỷ lệ khía cạnh 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? - Lukas Kubanek
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
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. - Lukas Kubanek
@ onmyway133 tạo ra một ràng buộc giữa hai khung nhìn và thiết lập hệ số thành 1: 2. - Jano
Trong Xcode 7, ctrl + nhấp kéo từ chế độ xem và phát hành trên chính nó và chọn Tỷ lệ cỡ ảnh - inorganik