我正在尝试创建一个自定义的 UIButton。它有一个(变化的)图像、一些信息文本,当然还有更标准的东西,比如标题等。我正在使用界面构建器和故事板来完成我的应用程序中的大部分设计工作。
像这样构建自定义 UIButton 的最佳实践是什么?
我决定不进行子类化,然后只接管绘图,因为按钮可以由更多标准元素构建。
相反,我尝试继承 UIButton 并构建和添加子视图,如 UIImageView、UILabel 等。这似乎很好用,但有一个例外,我不确定何时定位所有内容,因为边界未在 awakeFromNib 中设置,并且从未调用 initWithFrame。最后,我添加了我的 UIViewController 在 viewDidAppear 中调用的另一个方法。
然后我意识到,也许我可以在 UIViewController 中的 viewDidLoad 或 viewDidAppear 中构造按钮而无需子类化,但我再次注意到按钮上的边界尚不可用。
那么哪个是最好的:
- 子类化和绘制一切
- 通过组合其他 UIView 进行子类化和构建
- 在外部视图中构建按钮
- 还有什么方法……?
此外,当父母使用自动布局时,似乎框架中的所有内容都反对手动布局子视图,所以我认为必须有更好的方法。