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



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

例如,我们可能有两个按钮,每个故事板一个。它们应该是相同的按钮,但大小不同,我在 Swift 文件中一度将此按钮的 alpha 设置为 0。我怎样才能为一个名称(同一个IBOutlet)下的两个按钮执行此操作?我知道这意味着在故事板上做一些甚至没有被使用的东西,因此无法在设备上访问,我不确定它是否会引发错误。当然,这是一种解决此问题的方法,因为有些应用程序使用多个故事板。

我可以想象可能声明if (storyboard == xnamex) {execute code for specific storyboard},但这意味着有多个if语句,并为不同的故事板重复整个代码,并且必须为每个元素创建一个IBOutlet,这是不现实的。我该如何绕过这样做?

非常感谢。

如果它是完全相同的按钮,除了你提到它的大小。您只需将一个插座拉到相同的名称,它们都将包含在其中。如前所述[多个按钮连接的按钮最佳实践是将插座拉到同一位置,然后也移动到同一位置。然而。有时操作可能很棘手,如果您在那里遇到问题,只需创建一个具有完全相同名称的新操作,然后将其删除即可。它仍将连接到相同的名称。

最新更新