2个纵向和横向的故事板

时间:2012-03-06 19:30:43

标签: ios xcode storyboard

是否有任何可能的方法来创建两个故事板,一个纵向和一个横向,然后根据设备方向访问它们?类似的东西:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) 
    {
        self.storyboard = (one of the storyboards);
    }
    else
    {
        self.storyboard (the other);
    }
}

此代码不起作用。是否有任何代码可以工作????

2 个答案:

答案 0 :(得分:3)

我相信有一种更容易处理不同方向的方法。

您可以使用layoutSubviews方法直接在视图中管理视图的布局。

每次更改视图的帧时都会调用此方法(例如,当方向发生更改时)。

在里面你可以根据视图大小进行自定义布局。

这确实假设您只想管理布局,如果您需要不同的故事板,因为导航因方向而异(Apple不推荐),这对您没有帮助;但同样,这真的不是最佳方式。

希望它有所帮助!

答案 1 :(得分:0)

轮换故事板是非常可行的。它与在旋转时更改视图控制器几乎相同。

你不应该shouldAutorotateToInterfaceOrientation:。调用此方法以询问是否允许旋转。这不是轮换本身。 您应该使用willRotateToInterfaceOrientation:duration:,因为在旋转即将开始时会调用它。

至于更改不同故事板中的视图控制器,我建议this video tutorial。我几天前看了它,发现自己很有能力在观看之后使用多个故事板。