【发布时间】:2025-12-15 17:05:02
【问题描述】:
我已经在我的代码中实现了这个方法来了解界面方向何时会发生变化:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
我依靠这个被调用来设置我的视图。在 iOS 4 或 5 中,当方向改变时,它会被正确调用。
在 iOS 4 中,它也会在控制器首次加载时被调用(无论方向是否改变,它都会在开始时以正确的方向调用一次)。
问题是我注意到在 iOS 5 中这种情况不再发生。该方法在方向改变时被调用,但在控制器最初加载时不会被调用。这对我来说是个问题,因为我依靠它来根据方向设置初始视图位置。
任何想法为什么这种行为会改变?处理这个问题的最佳方法是什么?如果在 iOS 5 上,我应该检查 viewDidLoad 中的方向,然后手动调用 willRotate 和 didRotate 方法吗?这感觉有点像 hack。
感谢您提供的任何意见。
【问题讨论】:
标签: ios5 orientation