iPad - 方向变化和视图?

Posted

技术标签:

【中文标题】iPad - 方向变化和视图?【英文标题】:iPad - Orientation change and views? 【发布时间】:2011-08-01 17:11:01 【问题描述】:

我想让每个 viewController 根据屏幕方向显示不同的布局?

移动物品的最佳方式是什么?

手动更改项目的位置(为此编写代码)? 每个方向都有 2 个笔尖 1 个? (甚至可以切换笔尖吗?)

请解释

【问题讨论】:

【参考方案1】:

如果你的布局可行,我会用代码来实现。这样,如果您在两种布局上都有任何静态元素,则可以利用旋转动画。

如果这样做不可行,您可以通过使用子视图来使用两次。有 3 个 xib。您的主要元素在两个方向上都有任何元素。在此视图中拥有一个视图,并从其他两个 xib 纵向和横向布局加载。

【讨论】:

【参考方案2】:
    是的 - 使用willAnimateRotationToInterfaceOrientation:duration: 您可以按照here 的说明使用loadNibNamed:owner:options:

【讨论】:

【参考方案3】:

最好有两个不同的 XIB 文件。这是一些代码:

-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration 

    if (toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) 

        //show portrait XIB here

     else 

        //show landscape XIB here

    

【讨论】:

以上是关于iPad - 方向变化和视图?的主要内容,如果未能解决你的问题,请参考以下文章

ipad 应用程序 - 方向旋转性能很差

当 ipad 中的方向发生两次变化时,UIScrollView 的位置会发生变化

当设备方向发生变化时,UIViewController 不会更新视图的约束

如何停止 iPad 中的方向更改?

在“正常”视图和拆分视图控制器之间切换方向更改 IPad

模态视图的 Ipad 方向问题