故事板通过全局值访问UIControl属性

时间:2018-08-29 12:12:56

标签: ios swift uistoryboard uicontrol

我有一个带有多个视图控制器的iPhone应用程序。它们各自的UI在主故事板文件中设置。为了保持一致性,我为文本字段高度,字体大小,按钮高度等定义了一些全局值,这些值将被许多控件使用。当前设置这些控件的方式是,在情节提要中对其进行初始化,然后在各自的视图控制器中的viewDidAppear中,将高度,字体等的全局值访问并分配为这些控件的其余属性。

但是,此过程比较分散,容易出错。有更好的方法吗?是否可以访问情节提要中在swift文件中定义的全局值?例如,属性检查器所指向的文本字段的字体是否实际上是在引用全局值?

谢谢

2 个答案:

答案 0 :(得分:2)

如果您有预定义的高度/字体,则无法设置所需的值,然后直接在属性检查器中进行设置;如果要配置其他设备,则可以尝试使用尺寸类

创建所需元素的子类(UITextField / UIIButton),并将其分配给IB中的类名称

答案 1 :(得分:0)

可能的解决方案是预处理故事板文件。运行一个脚本,该脚本在情节提要文件中搜索相关的XML元素,并将其替换为正确的值。您可能希望将其添加为运行脚本阶段,以便在每次编译之前运行(我没有尝试过,但是似乎有可能,尽管在开发过程中不会在情节提要中看到固定值),或者只是手动运行从命令行。