Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在UITabBar上旋转后不调用setShouldRotate_Ios_Objective C - Fatal编程技术网

Ios 在UITabBar上旋转后不调用setShouldRotate

Ios 在UITabBar上旋转后不调用setShouldRotate,ios,objective-c,Ios,Objective C,我有一个5个标签的标签栏应用程序。我使用AppDelegate只在一个选项卡中允许横向定位,这很好。唯一的问题是,旋转该视图控制器后,其他4个选项卡中的所有其他视图控制器也将旋转 在我的应用程序代理中: -(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{ if (self.shouldRotate)

我有一个5个标签的标签栏应用程序。我使用AppDelegate只在一个选项卡中允许横向定位,这很好。唯一的问题是,旋转该视图控制器后,其他4个选项卡中的所有其他视图控制器也将旋转

在我的应用程序代理中:

-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
    if (self.shouldRotate)
        return UIInterfaceOrientationMaskAllButUpsideDown;
    else
        return UIInterfaceOrientationMaskPortrait;
}
在我的4个纵向视图控制器中:

- (void)viewDidLoad{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
    [appDelegate setShouldRotate:NO];
}
在my 1横向视图控制器中:

- (void)viewDidLoad {
    [super viewDidLoad];

    [self loadWebViewRequest];

    AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
    [appDelegate setShouldRotate:YES];
}
为什么我的4个纵向视图控制器在横向vc旋转后旋转


我在这里看到的所有其他答案都没有说明如何使用选项卡栏应用程序正确实现这一点。

他们的视图很可能不需要再次加载?但是,这确实不是限制特定视图旋转/不旋转的正确方法。可能重复@nhgrif这是我能找到的唯一有效解决方案。@nhgrif您能推荐旋转/不旋转的最佳实践方法吗?我将此问题标记为重复的问题。