我的应用程序适用于iOS5。但对于iOS6,我遇到了以下方向问题。
我有一个ViewController VC1。旋转时(将方向更改为UIInterfaceOrientationLandscapeRight)我想呈现另一个ViewController VC2,当你向后旋转时我需要关闭VC2并且VC1应该处于纵向模式。
我在我的应用程序中使用tabBar,我只想在第一个选项卡中使用此功能。
在tabBar中我写了
-(BOOL) shouldAutorotate
{
UINavigationController *nav = (UINavigationController *)self.selectedViewController;
if ([nav.topViewController isKindOfClass:[MainViewController class]])
{
return YES;
}
else
{
return NO;
}
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
//Here I am writing code for presenting view(using notifications)
// but When I rotate the device to landscape it's getting called but when I rotate back
//to portrait I not getting called.
}
谢谢。
答案 0 :(得分:0)
请尝试使用ios 6 :(示例)
- (BOOL)shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationPortrait | UIInterfaceOrientationLandscapeRight | UIInterfaceOrientationLandscapeLeft;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeRight;
}