无法弄清楚从哪里开始子类化UIControl!

Mic*_*all 0 iphone uikit subclassing uicontrol

我想创建自己的控件,它将由几个UILabel和几个UITextField组成.问题是我不知道从哪里开始!我是否直接将UIControl子类化,然后创建我的子视图并将它们添加到init中的主视图中?或者我使用layoutSubviews?我是否需要覆盖drawRect:?

我习惯于创建"Controller"类来处理添加子视图,但如果我将UIControl子类化,那么我不确定要设置的覆盖方法!

我以前从未这样做过,所以我真的很感激一些指针!

干杯!

Bre*_*don 6

你确定要UIControl吗?该UIControl班的目的是为需要支持一组有限的事件(如"感动"或"值改为"),如按钮和文本字段非常简单,通常可重用的控件.如果您只是想创建一种将多个视图组合在一起的方法,那么您应该使用它UIView.

无论哪种情况,这都是你应该做的:

  1. 创建子视图并设置其大部分属性-initWithFrame:.将它们保存在实例变量中,并将它们添加为self的子视图.

  2. 设置框架-layoutSubviews,根据它们计算它们self.bounds.只要您的视图更改大小,包括之后,就会调用此方法-initWithFrame:.

-drawRect:除非您需要使用Core Graphics功能进行自定义绘图,否则您不需要实现.