【发布时间】:2011-08-01 17:11:01
【问题描述】:
我想让每个 viewController 根据屏幕方向显示不同的布局?
移动物品的最佳方式是什么?
- 手动更改项目的位置(为此编写代码)?
- 每个方向都有 2 个笔尖 1 个? (甚至可以切换笔尖吗?)
请解释
【问题讨论】:
标签: objective-c ios ipad uiviewcontroller orientation
我想让每个 viewController 根据屏幕方向显示不同的布局?
移动物品的最佳方式是什么?
请解释
【问题讨论】:
标签: objective-c ios ipad uiviewcontroller orientation
如果你的布局可行,我会用代码来实现。这样,如果您在两种布局上都有任何静态元素,则可以利用旋转动画。
如果这样做不可行,您可以通过使用子视图来使用两次。有 3 个 xib。您的主要元素在两个方向上都有任何元素。在此视图中拥有一个视图,并从其他两个 xib 纵向和横向布局加载。
【讨论】:
willAnimateRotationToInterfaceOrientation:duration:
loadNibNamed:owner:options:
【讨论】:
最好有两个不同的 XIB 文件。这是一些代码:
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
if (toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
//show portrait XIB here
} else {
//show landscape XIB here
}
}
【讨论】: