Swift:以编程方式加载/连接到Interface Builder中创建的控件

时间:2017-08-21 18:59:10

标签: swift interface-builder

假设我有一个OSX应用程序,其中有一些精灵移动,称之为gremlins。当我点击一个gremlin时,我想显示一些滑块来控制那个gremlin的某些属性,可能是比例,速度,方向等等,然后再次单击gremlin来关闭滑块。然后单击另一个gremlin并显示滑块以控制该属性。我可以轻松地创建一些NSSliders并在代码中设置它们。但我更喜欢在Interface Builder中创建一组滑块,并按需加载它们:如果我想重新排列它们并使用它们的相对位置,那么使用该可视化界面进行操作会更好而不是必须摆弄代码,重新编译,运行,点击一个gremlin,看看它的外观。而且它看起来似乎更好的设计 - 但我不知道,我是Apple Land的新手,并且还没有在这个环境中做过任何专业的事情。

我已经尝试使用Google搜索我能想到的每一个变体" Swift:以编程方式加载/连接到Interface Builder"中创建的控件,但是没有找到任何关于如何进行演示或讨论这样做,甚至是任何人都这样做的迹象。它让我担心这不是Apple Land中的事情。这可能吗?禁忌/不必要的困难?是人们做的吗?如果有可能,它叫什么,即我可以谷歌搜索更多关于它的内容?

1 个答案:

答案 0 :(得分:0)

尝试查看“重用视图xib”。

这似乎是一个很好的起点:written in the doc

  1. 创建xib文件
  2. 在Interface Builder中设计
  3. 创建自定义UIView文件并为视图创建初始化程序
  4. 添加文件作为xib(Interface Builder)的所有者
  5. 将元素从xib连接到Outlets
  6. 将xib加载到UIView文件初始化程序
  7. 将其分配给您创建的新UIView