2012-02-06 20 views
28

Tôi có lớp con UIViewController mà tôi đã tạo trước đó có các điều khiển được đặt trong tệp XIB.Sử dụng bảng phân cảnh XCode để khởi tạo bộ điều khiển xem sử dụng XIB cho thiết kế

Tôi muốn sử dụng bộ điều khiển chế độ xem này trong bảng phân cảnh ngay bây giờ, nhưng có vẻ như mặc dù tôi có thể chỉ ra tên lớp của bộ điều khiển chế độ xem trong bảng phân cảnh, tôi không thể nói nó để tải XIB.

Tôi không muốn di chuyển mọi thứ từ XIB sang bảng phân cảnh nhưng giữ nó trong XIB riêng biệt.

Làm cách nào để có được UIViewController này trong bảng phân cảnh để tải XIB của tôi?

Trả lời

49
  1. Xóa chế độ xem có bộ điều khiển chế độ xem trong bảng phân cảnh.

  2. Sau đó cung cấp chế độ xem bằng cách định cấu hình tệp nib có cùng tên làm lớp bộ điều khiển chế độ xem. Ví dụ: nếu lớp điều khiển xem được gọi là MyViewController, hãy đặt tên cho tệp xib của bạn là MyViewController.xib.

EDIT Lưu ý rằng Swift hạt 5 bắt đầu phá vỡ kỹ thuật này, bởi vì nó mangles tên của tập tin .xib nó đang tìm kiếm. Xem câu trả lời của tôi ở đây để giải quyết: https://stackoverflow.com/a/25539016/341994 Về cơ bản, tên phù hợp này là bị hỏng trong iOS 8, nhưng sau đó Apple đã ăn năn và sửa nó để hoạt động lại trong iOS 9.

+0

Điều này làm cho bộ điều khiển xem tải NIB như thế nào? – user1175914

+4

Chỉ cần thử nó! Sau đó tìm hiểu cách bộ điều khiển chế độ xem tải ngòi bằng cách đọc sách của tôi: http://www.apeth.com/iOSBook/ch19.html – matt

+0

@ user1175914 Việc triển khai mặc định của UIViewController gọi XIB được đặt tên với tên lớp. Vì vậy, nếu thời gian chạy ObjC không tìm thấy một bộ điều khiển xem trong bảng phân cảnh, nó phải mặc định để gọi NIB như bình thường. Hoặc bạn có thể cung cấp việc thực hiện NIB của riêng bạn bằng cách gọi loadNibNamed: hoặc một cái gì đó. – KPM

Các vấn đề liên quan