Tôi đã sử dụng các hạn chế tự động từ bảng phân cảnh. Tuy nhiên, trong một số trường hợp, tôi muốn tính toán chiều cao động của chế độ xem phụ. Tôi mã này trong viewDidAppear(), nó hoạt động tốt bởi vì phương thức này được gọi sau khi tất cả các khung nhìn được thiết lập bởi các ràng buộc bố trí. Vấn đề ở đây là tôi có thể thấy khung được thiết lập bởi các ràng buộc trong nửa giây. Và sau đó mã reframes xem.Khi các hạn chế tự động đặt khung trong suốt vòng đời của bộ điều khiển xem?
Tôi đã biết về viewDidLayout() được gọi sau khi các ràng buộc đã đặt khung để tôi có thể thay đổi. Nhưng nó không hoạt động. Nó giống như phương thức này được gọi trước khi sử dụng các ràng buộc.
'viewWillAppear' không phải là" sự kiện một lần "nếu các chu trình bộ điều khiển xem được cho là giữa và không phải là bộ điều khiển xem nhiều nhất. Tôi tin rằng phương pháp bạn đang đề cập đến là 'viewDidLoad' –
Đúng là phương thức này không phải là" sự kiện một lần ". Bạn có thể cần phải thêm kiểm tra xấu xí như trong 'viewWillLayoutSubviews'. 'viewDidLoad' không liên quan đến câu hỏi vì các lần xem phụ có thể không nhất thiết phải được tải bởi thời gian này. Hãy thử nó cho mình. – GoGreen
Không, bạn đã đúng. Câu trả lời của tôi là nhiều sửa chữa cho bình luận của bạn về phương thức được gọi khi khung nhìn của trình điều khiển xem được nạp hơn câu hỏi ban đầu của OP. Lời xin lỗi của tôi. Bạn là đúng mặc dù, bằng cách sử dụng booleans cho các công cụ như thế này luôn luôn là kinh tởm, nhưng tôi sợ đó là một giải pháp nhanh chóng cho vấn đề OP có. –