2 个用于纵向和横向的故事板
Posted
技术标签:
【中文标题】2 个用于纵向和横向的故事板【英文标题】:2 storyboards for portrait and landscape 【发布时间】:2012-03-06 19:30:43 【问题描述】:是否有任何可能的方法来创建两个故事板,一个纵向和一个横向,然后根据设备方向访问它们?类似:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight)
self.storyboard = (one of the storyboards);
else
self.storyboard (the other);
此代码不起作用。有什么代码可以用吗???
【问题讨论】:
***.com/questions/7803524/… 【参考方案1】:我相信有一种更简单的方法来处理不同的方向。
您可以使用layoutSubviews
方法直接在视图中管理视图的布局。
每次更改视图的框架时都会调用此方法(例如发生方向更改时)。
您可以在里面根据视图大小进行自定义布局。
这确实假设您只想管理布局,如果您需要不同的故事板,因为导航因方向而异(Apple 不推荐),这对您没有帮助;但同样,这确实不是最好的方法。
希望对你有帮助!
【讨论】:
我想要一个不同的故事板来构建一个清晰的界面,而不是自动调整所有对象的大小【参考方案2】:改变故事板的旋转是非常可行的。这与在旋转时更改视图控制器几乎相同。
你不应该shouldAutorotateToInterfaceOrientation:
。调用此方法以询问是否允许旋转。这不是旋转本身。
您应该使用willRotateToInterfaceOrientation:duration:
,因为这是在轮换即将开始时调用的。
至于在不同的故事板中更改视图控制器,我建议this video tutorial。几天前我看了它,看完后我发现自己非常有能力使用多个故事板。
【讨论】:
以上是关于2 个用于纵向和横向的故事板的主要内容,如果未能解决你的问题,请参考以下文章
我可以为 iPhone 和 iPad(纵向和横向)使用单独的故事板吗?