我创建了一个UIView的自定义子类,该子类具有带自定义.xib文件的Label,Image和Text Input。该类是可以轻松重用于生成表单的项目。标签只是在文本输入上方的标题,图像是根据是否需要该字段显示/隐藏的自定义图标。现在在表单中,我正在像这样构建它:
实例化我的自定义视图的UINib
设置标签文本
将UINib的实例添加到数组中
构建数组后,遍历每个项目,将其转换为UIView,添加为子视图,最后添加约束条件
我的问题是这个-理想情况下,我想创建一个自定义的init函数,在该函数中我传入2个参数:Title(用于标签)和Boolean(如果需要)。我尝试进行单独的初始化,但是在运行模拟器时,什么也没出现。似乎我需要调用UINib(...)。instantiate(...)函数才能显示实际视图;但是,我不知道如何在初始化期间分配变量。我感谢任何反馈/建议/资源/等。谢谢!
答案 0 :(得分:0)
您可以编写一个便利初始化,先调用self.init,然后将便利初始化中的参数应用于视图,如:
convenience init(title: String, isRequired: Bool) {
self.init()
titleLabel.text = title
titleLabel.isHidden = isRequired
}