2012-02-18 23 views
6

Tôi đã thêm XIB dựa trên UIViewController vào giải pháp của mình và kéo một số UIViews vào đó. Bây giờ tôi muốn một số chế độ xem không phải là UIView nhưng RoundedRectView (https://github.com/Krumelur/RoundedRectView) được kế thừa từ UIView.Làm thế nào để sử dụng lớp con UIView tùy chỉnh trong trình soạn thảo XIB với Monotouch?

Làm cách nào để đạt được điều này? Tôi đã cố gắng để thay đổi các lớp học trong giao diện Builder nhưng điều đó không có gì. Sau đó, tôi đã sửa đổi tệp designer.cs theo cách thủ công nhưng điều đó dẫn đến lỗi. Sau đó, tôi đã thử sửa đổi mã ObjC giả nhưng điều đó cũng không thành công.

(Tôi đang sử dụng Xcode 4.2 và MD 2.8.6.4)

Trả lời

8

xem lớp con của bạn cần ít nhất hai điều:

  1. Đăng ký thuộc tính

    [Register("MyView")]

    public class MyView : UIView {}

  2. IntPt r constructor

    public MyView(IntPtr handle) : base(handle) {}

Sau đó bạn mở XIB trong Interface Builder, thêm một UIView và thiết lập lớp của nó trong Identity Inspector để tên mà bạn truyền cho các thuộc tính Đăng ký. Khi bạn kết nối nó với một ổ cắm, bạn sẽ thấy rằng nó có loại chính xác.

Outlet with correct type

+0

Làm cách nào tôi có thể quên điều đó. Cảm ơn! – Krumelur

+0

BTW: Có cách nào để hiển thị các thiết lập tùy chỉnh của quan điểm của tôi để IB để tôi có thể ví dụ có bán kính góc đặt trực tiếp trong IB? – Krumelur

+0

Tôi không nghĩ vậy. Tôi nghĩ bạn chỉ nhận được những gì có sẵn cho một UIView đơn giản. –

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