是否有任何可能的方法来创建两个故事板,一个纵向和一个横向,然后根据设备方向访问它们?类似的东西:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight)
{
self.storyboard = (one of the storyboards);
}
else
{
self.storyboard (the other);
}
}
此代码不起作用。是否有任何代码可以工作????
答案 0 :(得分:3)
我相信有一种更容易处理不同方向的方法。
您可以使用layoutSubviews
方法直接在视图中管理视图的布局。
每次更改视图的帧时都会调用此方法(例如,当方向发生更改时)。
在里面你可以根据视图大小进行自定义布局。
这确实假设您只想管理布局,如果您需要不同的故事板,因为导航因方向而异(Apple不推荐),这对您没有帮助;但同样,这真的不是最佳方式。
希望它有所帮助!
答案 1 :(得分:0)
轮换故事板是非常可行的。它与在旋转时更改视图控制器几乎相同。
你不应该shouldAutorotateToInterfaceOrientation:
。调用此方法以询问是否允许旋转。这不是轮换本身。
您应该使用willRotateToInterfaceOrientation:duration:
,因为在旋转即将开始时会调用它。
至于更改不同故事板中的视图控制器,我建议this video tutorial。我几天前看了它,发现自己很有能力在观看之后使用多个故事板。