IOS - 在多个标签栏和导航中修复纵向视图控制器

时间:2013-07-24 04:08:27

标签: ios uiviewcontroller

我的图表非常复杂,我想在多个TabBarController和NavigationController中修复肖像UIViewController,我在UIViewController中使用此代码修复TabBar和导航:

@implementation UINavigationController (LoginIphone)

-(BOOL)shouldAutorotate
{
    return [[self.viewControllers lastObject] shouldAutorotate];
}

-(NSUInteger)supportedInterfaceOrientations
{
    return [[self.viewControllers lastObject] supportedInterfaceOrientations];
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return [[self.viewControllers lastObject] preferredInterfaceOrientationForPresentation];
}

@end
@implementation UITabBarController (ChannelViewController)

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // You do not need this method if you are not supporting earlier iOS Versions
    return [self.selectedViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}

-(NSUInteger)supportedInterfaceOrientations
{
    return [self.selectedViewController supportedInterfaceOrientations];
}

-(BOOL)shouldAutorotate
{
    return YES;
}

@end

并且此代码内部确实修复了UIViewController ,但它不起作用。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown);
}

- (BOOL)shouldAutorotate
{
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return (UIInterfaceOrientationMaskPortrait);
}

enter image description here

任何人都有解决此问题的方法,感谢阅读本文!

2 个答案:

答案 0 :(得分:0)

您的supportedInterfaceOrientations方法应为:

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown;
}

答案 1 :(得分:0)

项目目标 - >单击“摘要”选项卡,然后在“支持的接口方向”

中选择方向