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(纵向和横向)使用单独的故事板吗?

iOS 自动布局:如何在 Xcode 故事板中为 iPad 横向和 iPad 纵向设计不同的布局?

IOS 启动屏幕故事板以不同的方向显示

如何在 xcode 故事板中以横向模式显示场景?

Xcode 4.5 和 iOS 6.x 中的故事板方向支持?