2014-12-12 14 views
9

Tôi đã quản lý để có được các thuộc tính IBDesignable/IBInspectable hoạt động với trực tiếp các lớp con của NSView nhưng không có phân lớp trực tiếp là NSButton. Điều này khiến tôi đặt câu hỏi nếu thực tế việc thực hiện Ca cao chỉ bị giới hạn ở mức NSView.Thuộc tính IBDesignable mới của Interface Builder có hoạt động với NSButton và các điều khiển khác trong Cocoa không?

Hầu hết mọi ví dụ trên web (và Apple WWDC 2014 Video Xcode) sử dụng NSView và sau đó kéo thành phần chế độ xem tùy chỉnh từ thư viện vào canvas (và sau đó thay đổi lớp).

Có thể sử dụng IBDesignable với các lớp con của NSControlNSButton v.v ...? Tôi đã thấy nhiều ví dụ trên web bằng cách sử dụng UIButton.

Nếu có thể, thì bạn phải kéo gì từ thư viện vào khung vẽ? Nó không có ý nghĩa cho nó là một "chế độ xem tùy chỉnh". Mặt khác, không có "điều khiển tùy chỉnh" có sẵn.

Để rõ ràng, tôi có thể nhận được thuộc tính IBInspectable hiển thị vào lúc thiết kế; nhưng mọi thay đổi dường như không hiển thị trực tiếp tại thời điểm thiết kế.

Cách giải quyết là để bọc bất kỳ tùy chỉnh NSButton Tôi muốn tạo ra trong vòng một NSView (thông qua thành phần) nhưng điều này có vẻ như một chút của một hack ...

+0

Bạn đã tìm thấy một số giải pháp chưa? – ZevsVU

Trả lời

0

Tôi bắt đầu chơi xung quanh với một tùy chỉnh NSButtonNSButtonCell.

Kéo nút từ thư viện vào khung vẽ và thay đổi lớp của nó và lớp ô không hiển thị trực tiếp. Tôi nghĩ rằng điều này là do Interface Builder vẫn thực hiện rất nhiều thứ tùy chỉnh để thiết lập NSButtonCell.

Điều gì làm việc tốt cho tôi là kéo chế độ xem tùy chỉnh từ thư viện vào canvas và đặt lớp của nó. Để làm việc này, bạn cần thiết lập ô bên trong NSButtons -initWithCoder:.

Tôi cũng tìm thấy một sample từ Apple với Hộp kiểm tùy chỉnh được hỗ trợ lớp.

+1

Bạn có thể xây dựng trên "Đối với điều này để làm việc bạn cần phải thiết lập các tế bào bên trong NSButtons -initWithCoder:" và tại sao điều này hoạt động. Tài liệu gần đây của Apple nói không được chạm vào nútCell vì vậy tôi chưa chú ý nhiều đến các chủ đề "ô". Cảm ơn. – Sam

+1

Ngoài ra, tại sao mẫu Apple hoạt động? – Sam

+0

Có ai có mẫu này không? Tôi gặp lỗi "Rất tiếc, không thể tìm thấy trang đó". = ( – ZevsVU

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