简单的问题:创建自定义版本(比如 UILabel、UIButton 等)以便我可以在多个地方轻松使用它的标准方法是什么?是否只是扩展适当的类:
import UIKit
class FormField: UITextField {
override init()
{
super.init()
// borderStyle = UITextBorderStyle.None
}
}
基本上只是想为某些 UI 对象设置一些默认值,以便在必要时我可以轻松地将它们放入界面中。不太确定如何让它工作。
最佳答案
像 UILabel
这样的子类是非常罕见的。
最常见的方法是 HAS-A 模式,您可以让 Controller (通常是 UIViewController
)为您管理 View 并重用它。或者,您可以创建一个 UIView
,其中包含您要自定义的 View ,并为您自定义它(传递需要传递的内容)。
您还可以拥有一个“以这种方式配置我的 View ”功能,您可以在现有标准 View 上调用该功能。我在可重用代码中很少看到这种情况。我的经验是,这些类型的配置函数结果是非常特定于应用程序的,但它们很常见。
像 UITextField
这样的东西已经有了委托(delegate)方法,自定义它们的一种常见方法是创建一个应用特定行为的可重用委托(delegate)。
这当然取决于您要实现的目标,但是子类化在模式列表中的位置非常靠后,除非它是一个明确设计并记录为子类化的类(如 UIView
或UIViewController
).
关于ios - 关于自定义 UIKit 对象的概念问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29402432/