我有一个要求,我想为iPhone和iPad显示不同的用户界面iPad所以我没有使用不同的故事板,而是使用了不同大小的类。我在iPhone和iPad上都没有标签。 iPad.Values of label在运行时设置,所以我使用了插座。我有一个单一的视图控制器,大小类,以便我可以在iOS上的不同屏幕之间切换。现在,我只能连接一个插座的任何一个如果我连接iPhone的插座,那么IPad插座不工作&反之亦然。请打电话给我,我如何使用相同的尺寸类别?
答案 0 :(得分:2)
我今天遇到了同样的问题,我找到了解决方法。在Attributes Inspector中,我们可以选择要在多个大小类中安装的标签,如下所示:
然后标签将出现在您安装的尺寸类中,您不必为每个尺寸类添加新标签。使用标签创建/连接插座时,插座将在已安装的尺寸类别中共享。
答案 1 :(得分:0)
我无法将其添加到评论中,因此我将其作为答案发布。
阅读评论我可以得出结论:
您应该使用通用类(Any Width, Any Height
)。
Size classes
是Interface Builder
的一项功能,负责展示您应用的view
。虽然UILabel
的值由Model
(实际值)和Controller
(ViewController.m)管理。不管你喜欢与否,你必须将控制器带入画面。
在发布此答案之前,我尝试将两个不同的标签连接到同一个插座,然后使用viewWithTag:
方法根据应用运行的设备设置插座以更正视图,它没有'工作。
以下是我使用的片段
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
_label = (UILabel *)[self.view viewWithTag:2];
}
else{
_label = (UILabel *)[self.view viewWithTag:1];
}
仍然像@sheshnath所说,使用通用大小类没有任何问题。