2012-08-08 15 views
6

Tôi đến từ thế giới của C# và Winforms nơi tôi có thể xây dựng một UserControl tùy chỉnh và kéo nó vào một hình thức như thể nó là một điều khiển chung. Có cách nào để làm điều đó trong Xcode và giao diện Builder?Kéo chế độ xem tùy chỉnh vào cửa sổ trong Trình tạo giao diện?

Tôi chỉ thấy cách đặt chế độ xem ở thời gian chạy nhưng tôi muốn xem nó trên cửa sổ của tôi tại thời điểm thiết kế. Ví dụ: tôi mong đợi chế độ xem tùy chỉnh của tôi được liệt kê trong các điều khiển khả dụng.

Cảm ơn!

Simon

+0

Có chế độ xem tùy chỉnh trong IB, chỉ cần kéo nó vào. – rdelmar

+0

@rdelmar - làm cách nào để liên kết chế độ xem tùy chỉnh với chế độ xem thực tế của tôi? Ngay bây giờ tôi chỉ thấy một hộp có nội dung "Custom View". –

+0

Chọn chế độ xem tùy chỉnh và sau đó trong trình kiểm tra nhận dạng, bạn đặt lớp của nó thành lớp con NSView của bạn. – rdelmar

Trả lời

6

Interface Builder không thêm (hoặc cho phép việc bổ sung, bây giờ mà IB Plugins là vô chủ) Custom Objects đến Object Library. Bạn chỉ có thể kéo trong các đối tượng hiện có/đặt trước, nhưng bạn có thể có IB khởi tạo chúng dưới dạng các thể hiện của một lớp con miễn là chúng được khởi tạo cùng một cách.

Ví dụ: Kéo trong một giao diện tùy chỉnh và thiết lập các lớp đểMyCustomViewClass, hoặc kéo trong một cái nhìn cuộn và thiết lập các lớp đểMyCustomScrollView, hoặc kéo trong một đối tượng và thiết lập các lớp đểCustomObject, vân vân.

Và đó là cách ưa thích của việc sử dụng các điều khiển tùy chỉnh trong Trình tạo giao diện.

enter image description here

1

Về cơ bản chỉ xé toạc bình luận rdelmar của ... nhưng tôi nghĩ rằng một bức tranh sẽ là hữu ích enter image description here

Kéo một cái nhìn bình thường vào IB, sau đó chọn nó và thực hiện điều này.

1

Mọi cửa sổ bạn tạo trong IB đều có chế độ xem trên đó dưới dạng tiểu hợp phần đầu tiên. Bạn không cần tạo chế độ xem tùy chỉnh riêng cho nó. Nếu bạn thực sự subclassing nó chỉ cần thay đổi tên lớp trong thanh tra.

0

Ngoài những gì đã được đề cập trong chủ đề này về việc thêm tên giao diện tùy chỉnh của bạn để tập XIB bộ điều khiển xem, bạn sẽ cần phải overrideinitWithCoder trong giao diện tùy chỉnh của bạn.