来自不同故事板的IBOutlet相同?

时间:2017-05-26 17:03:37

标签: ios swift xcode storyboard uistoryboard

我的项目中有多个故事板,每个故事板都有一个几乎相同的视图控制器(只有尺寸不同)。故事板使用取决于使用的设备。我想要做的是在同一个IBOutlet下拥有每个故事板中的等效元素。这样,无论我对正在使用的故事板中的元素做什么,对所有其他故事板都会做同样的事情。这不是为每个不同的故事板中的相同元素创建IBOutlet。

例如,我们可能有两个按钮,每个故事板中有一个按钮。它们是相同的按钮但是大小不同,我在Swift文件中的某一点将此按钮的alpha设置为0。我怎么能在一个名字下的两个按钮(同一个IBOutlet)上做这个?我知道这意味着在故事板上做某事甚至不被使用,因此无法在设备上访问,我不确定它是否会吐出错误。当然,这是一种方法,因为有些应用程序使用多个故事板。

我可以想象可能会说明 if (storyboard == xnamex) {execute code for specific storyboard},但这意味着要为不同的故事板重复使用多个if语句并重复整个代码,必须为每个元素创建一个IBOutlet,这是不切实际。我该如何解决这个问题?

非常感谢。

1 个答案:

答案 0 :(得分:0)

如果它是完全相同的按钮,除非你提到它的大小。您可以将插座拉出同一个名称,它们都将包含在那里。如上所述[Multiple buttons connected buttons best practise,你将出口拉到同一个地方,然后再行动到同一个地方。然而。有时候动作可能很棘手,如果你遇到问题,只需创建一个具有完全相同名称的新动作然后将其删除即可。它仍将连接到相同的名称。