我已经制作了TTPhotoViewController的子类,当我旋转iPhone时,当前图像也被旋转但不是导航栏和工具栏(带有prev和下一个按钮的栏)。
在我的子类中,我有shouldAutorotateToInterfaceOrientation:
方法:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
我试图覆盖willRotateToInterfaceOrientation:duration:e在里面设置一个断点,但似乎永远不会调用此方法。
答案 0 :(得分:1)
确保所有视图控制器即父视图控制器都允许旋转..很可能是因为一个或多个视图控制器没有为shouldAutorotateToInterfaceOrientation返回TRUE
答案 1 :(得分:1)
我解决了如下:
TTPhotoViewController
在TabBarController
范围内,默认情况下TabBarController
不会为YES
返回shouldAutorotateToInterfaceOrientation
。所以只是继承TabBarController并执行类似的操作:
@implementation CustomTabBarController
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation {
return [self.selectedViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}
@end
我添加了一个小细节:在我尝试旋转界面的过程中,我发现deviceOrientationDidChange:
中的TTScrollView.m
被认可了,这样做是因为如果您将此代码退出滚动视图在陆地风光旋转上有一种奇怪的行为。