我正在使用故事板,需要为纵向和横向布局创建不同的视图。在这种情况下我无法使用自动布局,因为在某些情况下我需要完全重新排列。
我找到了一个使用两种不同视图并根据设备方向隐藏或显示它的解决方案,但它对我来说效果不好。我有很多需要从xcode设计器连接到代码的插座,似乎我无法将两个diffrents对象(例如两个不同的按钮)连接到同一个IBOutlet。我可以吗?当我这样做时,只有一个真正起作用。此外,这种解决方案看起来效率不高。
我还采用了不同的方法并创建了两个不同的视图控制器,我根据设备方向加载,但是有一个问题,例如我关闭设备的应用程序更改方向并再次打开它并返回到查看位于导航堆栈开头的控制器,然后它具有之前的方向。
任何人都有一些想法如何解决这个问题?
答案 0 :(得分:0)
您应该只使用一个ViewController和一个视图,并对元素的位置进行硬编码。喜欢(伪代码)
if(orientation landscape) label1.frame = ...
其他(定向肖像) label1.frame = ...
也许你可以在另一个UIView中对部分布局进行分组(选择元素并进入Xcode-> Editor Menu-> Embed-> View。然后将新视图连接到ViewController并将其推送到你需要的地方它
看看this answer,也许有帮助