2012-02-18 10 views
6

Çözüme bir XIB tabanlı UIViewController ekledim ve bazı UIViews içine sürükledim. Şimdi, bazı görünümlerin UIView değil, RoundedRectView (https://github.com/Krumelur/RoundedRectView) olmamasını istiyorum; bu değer UIView.Monotouch ile XIB düzenleyicisinde özel UIView alt sınıfı nasıl kullanılır?

Bu nasıl başarılır? Sınıfı Interface Builder'da değiştirmeyi denedim ama hiçbir şey yapmadı. Ardından designer.cs dosyasını el ile değiştirdim ancak bu bir hatayla sonuçlandı. Sonra sahte ObjC kodunu değiştirmeyi denedim ama bu da başarısız oldu.

(Xcode 4.2 ve MD 2.8.6.4 kullanıyorum)

cevap

8

görünümünüz alt sınıf en az iki şey gerekir:

  1. Kayıt nitelik

    [Register("MyView")]

    public class MyView : UIView {}

  2. IntPt r yapıcısı

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

Daha sonra, Interface Builder XIB'ye açmak bir UIView eklemek ve Kayıt özniteliği geçirilen isme Kimlik Inspector'da onun Class değerini. Bir prize taktığınızda, doğru tipte olduğunu göreceksiniz. Outlet with correct type

+0

Bunu nasıl unutabilirim. Teşekkürler! – Krumelur

+0

BTW: Görüşümün kişiselleştirilebilir ayarlarını IB'ye sunmanın bir yolu var mıdır, örneğin köşe direk olarak doğrudan IB'ye ayarlanmış olabilir miyim? – Krumelur

+0

Ben öyle düşünmüyorum. Bence sadece UIView adlı bir düzene uygun olanı elde edersiniz. –