iphone - 在 viewDidLoad 中触发旋转

标签 iphone ios ipad landscape portrait

我遇到了一些布局问题,当我以纵向模式启动我的应用程序然后将其转为横向模式时,之后打开的 View 返回错误的旋转值。

例如,我在从纵向模式旋转后以横向模式打开一个 View ,当我记录旋转时它仍然返回纵向模式:

NSLog(@"%u", [[UIDevice currentDevice] orientation]); // 4
NSLog(@"%f / %f", self.view.frame.size.width, self.view.frame.size.height); // 748.000000 / 1024.000000

当我将 iPad 旋转到纵向模式并返回横向模式时,它会返回正确的尺寸

NSLog(@"%u", [[UIDevice currentDevice] orientation]); // 1
NSLog(@"%f / %f", self.view.frame.size.width, self.view.frame.size.height); // 1024.000000 / 704.000000

我需要做些什么才能使新添加的 View 适应旋转吗?

最佳答案

在 viewWillAppear 方法中设置 View 的新框架。这会将所有项目设置为正确的大小,如果您使用导航 Controller ,这将在推送和弹出 View 时起作用。

关于iphone - 在 viewDidLoad 中触发旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12488043/

相关文章:

ios - 什么功能可以帮助我了解用户在文本字段中输入的第一个字符以及当我按下键盘返回时如何制作一个空行?

ios - 使用配置文件测试飞行问题

ios - UIView 未出现在 UIViewController 上

iphone - 是否有捕获控制台日志的 iPad/电话应用程序(来自 iPhone 配置实用程序)

iphone - transitionWithView 和 animateWithDuration 的问题

ios - 如何在UIView中使用setAnimationStartDate?

iphone - 实现授权

ios - 验证使用两个不同参数调用方法两次

iphone - 将自定义 View 添加到窗口并模糊背景 View ,并且不允许单击背景 View

ios - UIScrollView 内的 CPTXYGraph