2012-05-16 6 views
8

Tôi có UIView tùy chỉnh, mà tôi đã đặt bằng Xcode (4). Tôi cần đặt một số trạng thái mặc định, dựa trên giới hạn thực tế của chế độ xem. Trong quá trình awakeFromNib, các giới hạn dường như trả về kích thước của khung nhìn trong bố cục bảng phân cảnh trong Xcode.Các giới hạn của UIView tùy chỉnh không chính xác trong awakeFromNib - khi nào chúng được đặt?

Chế độ xem ở phía chi tiết của UISplitViewController, mà trong Xcode là kích thước của màn hình iPad dọc hoàn chỉnh, nhưng nếu ứng dụng tải ở chế độ ngang thì qua thanh-và-struts, kích thước của nó sẽ thay đổi, nhưng điều này dường như xảy ra sau khi awakeFromNib.

Tôi có nên được thiết lập trạng thái này trong một số phương pháp khác?

Trả lời

0

Câu trả lời là có lẽ tìm kiếm, hoặc ít nhất là giải pháp tôi đã sử dụng, là để cung cấp một phương pháp nào trong UIView để được gọi bằng các UIViewController mẹ trong viewWillAppear:

1

Nó phụ thuộc những gì sắp xếp của nhà nước bạn đang thiết - nếu nó là phụ thuộc vào các giới hạn sau đó bạn sẽ cần phải thiết lập lại nó mỗi khi xoay thiết bị, có lẽ? Trong trường hợp đó, việc ghi đè setFrame: có thể là một đặt cược tốt hơn - hãy chắc chắn gọi thực hiện siêu lớp trước khi bạn thực hiện bất kỳ điều gì khác.

+0

Tôi đang cố gắng để thiết lập " hợp lý "mặc định, và những gì là hợp lý thay đổi tùy thuộc vào kích thước màn hình và hình dạng. Nó chỉ là một điều đầu tiên, bởi vì sau đó quan điểm sẽ ghi nhớ. – Jono