Sau khi đọc khoảng UIView
's autoresizingMask
trên SO và developer.apple.com Tôi vẫn chưa rõ mục đích là gì. Một tình huống mà thiết lập tài sản này là cần thiết?Mục đích của autoresizingMask của UIView là gì?
Trả lời
Có, thường cần thiết đặt nếu bạn không muốn thay đổi kích thước chế độ xem theo cách thủ công. Lưu ý rằng điều này chủ yếu hữu ích cho các bản xem trước (tức là các lượt xem đó không chiếm toàn bộ màn hình) thay vì đó là chế độ xem chính của ứng dụng của bạn.
xem thường có thể cần thay đổi kích thước nếu:
- thiết bị được xoay
- một cái nhìn thêm (ví dụ, một quảng cáo) sẽ được thêm vào xem, do đó các subviews hiện có không gian ít có sẵn.
Ví dụ: giả sử nếu bạn có chế độ xem có hai nút trên đó, một ở góc trên cùng bên trái, một ở góc trên cùng bên phải. Để các nút mở rộng hơn khi chế độ xem chuyển tiếp từ dọc sang ngang, bạn cần đặt FlexibleLeftMargin sang nút phải, FlexibleRightMargin sang nút bên trái.
Chỉnh sửa: autoresizingMask cũng là điều đầu tiên để xem xét nếu bạn thấy các lỗ lạ hoặc chồng chéo khi thiết bị được xoay hoặc một chế độ xem phụ mới được thêm vào. Thường thì thiết lập thích hợp của các mặt nạ này cho các bản xem trước có thể giúp bạn có được một cái nhìn đẹp mắt theo cả hai hướng mà không phải đặt ra các bản xem xét thủ công - nhưng thường phải mất một số thử nghiệm.
Chỉnh sửa2: (vì điều này vẫn đang thu thập upvotes) Mặt nạ tự động hầu như được thay thế bằng "Bố cục tự động", cho phép nhiều ràng buộc linh hoạt hơn về kích thước và vị trí của khung nhìn. Điều đó đang được nói, dịchAutoresizingMaskIntoConstraints đôi khi vẫn hữu ích cho các chế độ xem được thêm động.
Mục đích là UIView đúng chuyển và thay đổi kích thước khi nó thay đổi SuperView do thay đổi kích thước, thay đổi hướng, cho thấy kiểm soát chỉnh sửa trong các tế bào tableview, vv
- 1. Mục đích của UIWindow là gì?
- 2. Mục đích của thư mục buildSrc của gradle là gì?
- 3. Mục đích của phiên JMS là gì?
- 4. Mục đích của config.assets.precompile là gì?
- 5. Mục đích của HttpHeaders.TryAddWithoutValidation là gì?
- 6. Mục đích của nguyên mẫu là gì?
- 7. Mục đích của is_uploaded_file() là gì?
- 8. Mục đích của tệp vshost.exe là gì?
- 9. Mục đích của Parse Vexing là gì?
- 10. Mục đích của Array.GetLowerBound (int) là gì?
- 11. Mục đích của tệp pdb là gì?
- 12. Mục đích của String.IsInterned là gì?
- 13. Mục đích của ldexp là gì?
- 14. Mục đích của IntentSender là gì?
- 15. Mục đích của character_set_connection là gì?
- 16. Mục đích của Rake là gì?
- 17. Mục đích của 'var' là gì?
- 18. Mục đích của tệp .edmx là gì?
- 19. Mục đích của layout.xml là gì?
- 20. Mục đích của requestWindowFeature() là gì?
- 21. Mục đích của `__metaclass__ = type` là gì?
- 22. mục đích của Thread.holdsLock (khóa) là gì?
- 23. Mục đích của __cxa_pure_virtual là gì?
- 24. Mục đích của lớp Expression là gì?
- 25. Mục đích của startManagingCursor là gì?
- 26. Mục đích của thuộc tính-đích là gì?
- 27. JAF là gì? Mục đích của nó là gì?
- 28. Tệp xcscheme là gì? Mục đích của nó là gì?
- 29. Mục đích của phương thức Expression.Quote của LINQ là gì?
- 30. Mục đích của chỉ thị #line của perl là gì?
Đừng quên đôi chiều cao "Trong cuộc gọi" trên thanh trạng thái! Bạn có thể sao chép lại điều này một cách dễ dàng bằng cách ghi âm ghi chú thoại và chuyển sang ứng dụng của bạn. –