Các bản xem phụ của tôi có bố cục khác nhau khi ở hướng dọc và ngang. Bố trí dựa trên khung của superview, và không tầm thường (không thể đạt được bằng cách sử dụng autoresizing springs và struts).Nhận khung chính xác bên trong willRotateToInterfaceOrientation
Vấn đề là nếu tôi đang thay đổi khung của subViews trong willRotateToInterfaceOrientation, hoạt ảnh là chính xác, nhưng khung là superView vẫn là khung từ hướng cũ.
Nếu tôi đang thay đổi subViews trong didRotateFromInterfaceOrientation, khung là superView thực sự là đúng, nhưng thay đổi khung hình chỉ xảy ra sau khi hoạt ảnh xoay và nó không tốt.
Cách chính xác để thay đổi khung của subViews khi thay đổi hướng là gì?
Tôi đã giải quyết vấn đề này bằng cách viết một phương thức trong mỗi chế độ xem phụ sẽ xử lý phần thay đổi khung. Tôi sẽ thiết lập khung nhìn của cha mẹ trong willRotateToInterfaceOrientation và sau đó tạo ra một khung tương tự mới bằng cách sử dụng chức năng CGFrameMake và chuyển nó cho mỗi subView. Nó làm việc cho tôi .... kiểm tra xem nó có hữu ích không. – Mohammad
Tôi không hiểu câu trả lời của bạn. Trong willRotateToInterface tôi vẫn không biết khung của superView vì xoay vòng đã không xảy ra. Đây là vấn đề. – adamsiton
Tôi không sử dụng khung của superView để xoay các bản phụ. Tôi tính toán những gì sẽ là giá trị cho khung của superView sau khi quay và sau đó thực hiện một CGRect mới dựa trên tính toán và sau đó vượt qua đó để xử lý phương pháp của mỗi subView. Nếu bạn không thể tính giá trị cho khung của superView sau khi xoay thì ở trên sẽ không hiệu quả với bạn. – Mohammad