我有一个 iphone sdk 方向问题...
我将“持有”视图控制器推到导航控制器上。holdingViewController 使用 viewDidLoad 来显示 navigationController 导航栏,并为其添加一个翻转按钮和一个翻转按钮的选择器。然后它使用 UIViewAnimationTransitionNone 添加一个子视图,显示一个包含 TableView 的 UIView。当点击翻转按钮时,保持视图控制器移除加载的子视图并替换为另一个子视图,也包含一个带有 tableview 的视图,并使用翻转动画进行转换。翻转和改变方向时会出现问题。虽然如果我在横向模式下翻转,翻转和旋转起初似乎都可以工作,但翻转的视图有点“裁剪”为纵向宽度,虽然实际上显示为横向,但旋转并不能修复它,你必须向后翻转,旋转回纵向,然后再次翻转。看起来holdview没有记录方向的变化,但我知道它是我已经实现的
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];
在所有 3 个视图控制器上,我可以看到每个视图控制器都调用了orientationChanged 函数。
所有三个视图控制器都在 viewDidLoad 中设置自动调整大小
self.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
我也实施了
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
return YES;
}
有没有人知道发生了什么,或者更重要的是,我能做些什么来解决它?
非常感谢