Swift:以编程方式 load/connect 到在 Interface Builder 中创建的控件
Swift: programmatically load/connect to controls created in Interface Builder
假设我有一个 OSX 应用程序,其中有一些精灵四处移动,称它们为小精灵。当我点击一个 gremlin 时,我想显示一些滑块来控制该 gremlin 的一些属性,可能是比例、速度、方向等,然后再次单击 gremlin 以关闭滑块。然后单击另一个 gremlin 并显示滑块以控制它的属性。我可以很容易地创建一些 NSSliders 并在代码中设置它们。但我更愿意在 Interface Builder 中创建一组滑块,并按需加载它们:如果我想重新排列它们并调整它们的相对位置,最好使用该可视化界面,而不是让fiddle 代码,重新编译,运行,点击一个 gremlin,看看它的外观。另外,总体而言它似乎是更好的设计——但我不知道,我是 Apple Land 的新手,还没有在这个环境中做任何专业的事情。
我已经尝试在 "Swift: programmatically load/connect to controls created in Interface Builder" 上搜索我能想到的每个变体,但没有找到任何关于如何做到这一点的演示或讨论,甚至没有找到任何人这样做的迹象。这让我担心这不是 Apple Land 做事的方式。这可能吗? Prohibitively/unnecessarily难吗?这是人们所做的吗?如果可能的话,它叫什么,即,我可以 google 了解更多信息?
尝试寻找 "reusing a view xib"。
这似乎是一个很好的起点:Example
- 创建 xib 文件
- 在 Interface Builder 中设计
- 创建自定义 UIView 文件并为视图创建初始化程序
- 将文件添加为 xib(界面生成器)的所有者
- 将元素从 xib 连接到 Outlets
- 在 UIView 文件初始化中加载 xib
- 将其分配给您创建的新 UIView
假设我有一个 OSX 应用程序,其中有一些精灵四处移动,称它们为小精灵。当我点击一个 gremlin 时,我想显示一些滑块来控制该 gremlin 的一些属性,可能是比例、速度、方向等,然后再次单击 gremlin 以关闭滑块。然后单击另一个 gremlin 并显示滑块以控制它的属性。我可以很容易地创建一些 NSSliders 并在代码中设置它们。但我更愿意在 Interface Builder 中创建一组滑块,并按需加载它们:如果我想重新排列它们并调整它们的相对位置,最好使用该可视化界面,而不是让fiddle 代码,重新编译,运行,点击一个 gremlin,看看它的外观。另外,总体而言它似乎是更好的设计——但我不知道,我是 Apple Land 的新手,还没有在这个环境中做任何专业的事情。
我已经尝试在 "Swift: programmatically load/connect to controls created in Interface Builder" 上搜索我能想到的每个变体,但没有找到任何关于如何做到这一点的演示或讨论,甚至没有找到任何人这样做的迹象。这让我担心这不是 Apple Land 做事的方式。这可能吗? Prohibitively/unnecessarily难吗?这是人们所做的吗?如果可能的话,它叫什么,即,我可以 google 了解更多信息?
尝试寻找 "reusing a view xib"。
这似乎是一个很好的起点:Example
- 创建 xib 文件
- 在 Interface Builder 中设计
- 创建自定义 UIView 文件并为视图创建初始化程序
- 将文件添加为 xib(界面生成器)的所有者
- 将元素从 xib 连接到 Outlets
- 在 UIView 文件初始化中加载 xib
- 将其分配给您创建的新 UIView