的所有人。我有一个iOS6 ipad应用程序要更新。我遇到的问题是只有一个视图控制器需要自动旋转,我没有找到正确的方法来执行此操作。
我尝试了以下链接并且部分帮助: Only having one view autorotate in xcode?
但是当我旋转viewController时,它的状态栏不会随着视图一起旋转,并且视图的标题不会像我设置的那样保留在中心。
我在viewController中添加了断点,并且只有当设备是横向时才会发现它会调用- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
。
我想知道是否有人能告诉我这个bug隐藏在哪里以及如何修复它。 谢谢你。
答案 0 :(得分:1)
我已经解决了这个问题。我的错误是在设置自动旋转问题时我在下面添加了一些单词。
CGAffineTransform landscapeTransform = CGAffineTransformMakeRotation(degreesToRadian(0));
landscapeTransform = CGAffineTransformTranslate (landscapeTransform, 0.0, 0.0);
self.view.bounds = CGRectMake(self.view.bounds.origin.x, self.view.bounds.origin.y, 768, 1024);
if (isVisible == NO) return; // iOS present modal bodge
[self updateScrollViewContentViews]; // Update content views
lastAppearSize = CGSizeZero; // Reset view size tracking
[self.view setTransform:landscapeTransform];
我删除了这些手工单词并单独留下以下方法。已经完成了。
-(NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskAll;
}
- (BOOL)shouldAutorotate
{
return YES;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}