Bạn chắc chắn không nên gọi số [super loadView]
. Tôi muốn nói bạn đã tìm thấy một lỗi trong ví dụ ZoomingPDFViewer.
Bạn ghi đè loadView
khi bạn muốn tạo lập trình phân cấp chế độ xem cho trình điều khiển chế độ xem của bạn một cách có lập trình (không sử dụng xib).
Như bạn đã chỉ ra, các tài liệu rõ ràng tuyên bố rằng bạn không nên gọi siêu.
Triển khai tùy chỉnh phương pháp này của bạn không được gọi là siêu.
Tôi giả định này là để tránh bốc cả hai từ một xib và programatically tạo một cái nhìn như phương pháp này được sử dụng bởi các cơ sở để tải một cái nhìn từ một xib:
Nếu bộ điều khiển xem có tệp nib liên kết, phương thức này tải chế độ xem từ tệp nib.
Cũng lưu ý rằng ngay cả nếu trong quá trình phân bổ các đối tượng UIViewController
của bạn, bạn vượt qua con số không cho tham số nibNameOrNil rằng việc thực hiện UIViewController
của loadView
sẽ cố gắng để tải bất kỳ xib với tên lớp liên quan trong đó.
Một bộ điều khiển xem có tập tin nib liên quan nếu tài sản nibName trả về một giá trị không bằng không, mà xảy ra nếu bộ điều khiển xem được instantiated từ một kịch bản, nếu bạn một cách rõ ràng được gán cho nó một tập tin nib sử dụng initWithNibName: bundle: method, hoặc nếu iOS tìm thấy tệp nib trong gói ứng dụng có tên dựa trên tên lớp của bộ điều khiển xem . Nếu bộ điều khiển chế độ xem không có tệp nib được liên kết, phương pháp này sẽ tạo đối tượng UIView đơn giản thay thế.
Mục đích thực sự của phương pháp này là để cung cấp cho bạn kiểm soát toàn bộ việc xây dựng hệ thống phân cấp xem mà không dựa vào việc xây dựng trong cơ chế xib tải .:
Bạn có thể ghi đè phương pháp này nhằm tạo của bạn lượt xem theo cách thủ công.
Cá nhân, tôi ghi đè loadView
nếu: 1.) Các xib tôi sẽ làm cho nó thực sự tầm thường hoặc 2.) Việc bố trí các điều khiển là rất năng động, vì vậy tạo ra một xib với một bố trí tĩnh có chút lợi ích .
+1 đánh dấu cho chiều dài cùng với rõ ràng/ngắn gọn ... – Damo