Interface Builder没有看到我的子类UILabel

时间:2012-06-30 03:01:34

标签: xamarin.ios interface-builder uilabel subclass

在MonoTouch中,我定义了以下类:

using System;
using MonoTouch.UIKit;
using MonoTouch.Foundation;
using System.Drawing;

namespace MyApp
{
    public class WUILabel : UILabel
    {
        public WUILabel () : base() { this.SetDefaults(); }
        public WUILabel(NSCoder coder) : base(coder) { this.SetDefaults(); }
        public WUILabel(NSObjectFlag t) : base(t) { this.SetDefaults(); }
        public WUILabel(IntPtr handle) : base(handle) { this.SetDefaults(); }
        public WUILabel(RectangleF frame) : base(frame) { this.SetDefaults(); }

        private void SetDefaults()
        {
            this.Font = UIFont.FromName("AmericanTypewriter", 15f);
            this.TextColor = UIColor.Black;
        }
    }
}

在Interface Builder中,我将标签的“Class”属性设置为“WUILabel”。

运行应用程序时,Application Output包含错误“Interface Builder文件中的Unknown class WUILabel”。有没有人成功地让这个工作,或者任何人都可以告诉我我做错了什么?

1 个答案:

答案 0 :(得分:2)

您必须使用RegisterAttribute装饰您的类。

检查this回答。