【发布时间】:2018-12-26 13:54:05
【问题描述】:
我创建了一个 UIView 的自定义子类,该子类具有标签、图像和文本输入以及自定义 .xib 文件。该类旨在成为可以轻松重用以生成表单的项目。标签只是文本输入上方的标题,图像是自定义图标,根据字段是否需要显示/隐藏。现在在表单中,我正在构建它:
实例化我的自定义视图的 UINib
设置标签的文字
将 UINib 的实例添加到数组中
数组构建完成后,遍历每个item,将其强制转换为UIView,添加为子视图,最后添加约束
我的问题是 - 理想情况下,我想创建一个自定义 init 函数,在其中传入 2 个参数:标题(用于标签)和布尔值(如果需要)。我尝试进行单独的初始化,但是在运行模拟器时,什么也没出现。看来我需要调用 UINib(...).instantiate(...) 函数才能显示实际视图;但是,我不知道如何在初始化期间分配变量。我感谢任何反馈/建议/资源/等。谢谢!
【问题讨论】:
-
所以你想用一个功能来实现所有这些?
-
并非全部,只是列出的前 2 个项目符号。理想情况下,我可以调用 InputElement(title: "Name:", isRequired: true) 之类的东西,它将初始化 xib 文件并知道将标题标签的文本填充为“Name”并显示所需的图标/图像视图,因为 isRequired 为真