我有一个带有此代码的标签栏控制器
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
//NSLog(@"object type %@" ,nil);
if([[self navigationController ] isKindOfClass:[UINavigationController class]])
if([[[self navigationController] visibleViewController] isKindOfClass:[SLImageViewController class]])
return YES;
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
我需要旋转SLImageViewController类的任何实例,但不需要其他任何实例。我已经做了我能想到的所有事情,比如在我的SLImageViewController和其他修复程序中添加return YES。
谁能告诉我我做错了什么?
答案 0 :(得分:3)
您可以通过以下方式完成此任务:
viewWillAppear
和viewWillDisappear
-(void) viewWillAppear:(BOOL)animated {
[super viewWillAppear: animated];
[[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationLandscapeRight];
}
-(void) viewWillDisappear:(BOOL)animated {
[super viewWillDisappear: animated];
[[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationPortrait];
}
并手动旋转视图:self.view.transform = CGAffineTransformMakeRotation(M_PI/2);
shouldAutorotateToInterfaceOrientation
方法