iOS7 – 仅锁定标签栏内的某些视图控制器的方向?

iOS7 – 仅锁定标签栏内的某些视图控制器的方向?,第1张

概述我知道这个问题已被无数次问过,虽然我根本无法让它工作,但实际上没有答案可行,也许我没有正确地复制代码,但无论哪种方式它都不会工作. 无论如何,我的应用程序的视图控制器布局如下,请注意这是一个选项卡式应用程序,而不是一个View应用程序: 主标签控制器>分支到多个导航栏控制器(都引用相同的CustomNavigationController类)>在每个Nav Controller下都有许多UIVi 我知道这个问题已被无数次问过,虽然我根本无法让它工作,但实际上没有答案可行,也许我没有正确地复制代码,但无论哪种方式它都不会工作.

无论如何,我的应用程序的视图控制器布局如下,请注意这是一个选项卡式应用程序,而不是一个VIEw应用程序:

主标签栏控制器>分支到多个导航栏控制器(都引用相同的CustomNavigationController类)>在每个Nav Controller下都有许多UIVIEwControllers,其中一些引用自定义视图控制器类. (有关层次结构的直观表示,请参见pic)

我的问题是:如何才能将应用程序中所有页面的方向锁定为纵向模式,但是如果用户旋转设备,允许某些页面(UIVIEwControllers)能够旋转到横向? (上图中标有星号的页面是我想要允许旋转的页面)

请记住,我想允许旋转的视图控制器是导航控制器的子控制器,导航控制器也是标签栏控制器的子控制器.另外,请注意其中一个VIEw控制器不在Navigation控制器下,它位于Tab bar控制器下,但不确定这会影响多少.

非常感谢

来自我的应用程序的相关类的代码

标签栏控制器代码(注意这里没有有意义的代码,因为我从来没有用过这个类)

@interface TabbarController ()@end@implementation TabbarController- (voID)vIEwDIDLoad {    [super vIEwDIDLoad];    // Do any additional setup after loading the vIEw.}- (voID)dIDReceiveMemoryWarning {    [super dIDReceiveMemoryWarning];    // dispose of any resources that can be recreated.}  @end

导航控制器类(也从来没有一个类

@interface Navigationbar ()@end   @implementation Navigationbar- (ID)initWithNibname:(Nsstring *)nibnameOrNil bundle:(NSBundle *)nibBundleOrNil {    self = [super initWithNibname:nibnameOrNil bundle:nibBundleOrNil];    if (self) {        self.Title = @"NavigationController";    }    return self;}- (voID)dIDReceiveMemoryWarning {    [super dIDReceiveMemoryWarning];    // dispose of any resources that can be recreated.}@end

主页类(必须以肖像锁定)

@interface HomePage ()@end@implementation HomePage- (ID)initWithNibname:(Nsstring *)nibnameOrNil bundle:(NSBundle *)nibBundleOrNil{    self = [super initWithNibname:nibnameOrNil bundle:nibBundleOrNil];    if (self) {        self.Title = @"HomePage";    }    return self;}- (voID)vIEwDIDLoad {    [super vIEwDIDLoad];    // If the condition is not true/not YES,than create and show alert.    if (![[NSUserDefaults standardUserDefaults]          boolForKey:@"dIDShowOneTimeAlert"]) {        //define and Edit the Alert details.        UIAlertVIEw *zoomTip = [[UIAlertVIEw alloc] initWithTitle:@"Tips" message:@"On all web site and map pages,pinch in and out to zoom. \n \n On the 'Program' page,tap on a session to vIEw more details." delegate:self cancelbuttonTitle:@"Okay" otherbuttonTitles:nil];        //Show the alert        [zoomTip show];        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"dIDShowOneTimeAlert"];        [[NSUserDefaults standardUserDefaults] synchronize];    } // End if}- (voID)dIDReceiveMemoryWarning {    [super dIDReceiveMemoryWarning];    // dispose of any resources that can be recreated.}@end

地图类(显示地图并且必须能够旋转的页面)

@interface mezzanineLevelMap ()@end@implementation mezzanineLevelMap@synthesize scrollVIEw,imageVIEw;-(UIVIEw *)vIEwForZoomingInScrollVIEw:(UIScrollVIEw *)scrollVIEw {    return imageVIEw;}- (voID)vIEwDIDLoad {    [super vIEwDIDLoad];    UIImageVIEw *tempImageVIEw = [[UIImageVIEw alloc] initWithImage:[UIImage imagenamed:@"mezzanine Level"]];    self.imageVIEw = tempImageVIEw;    scrollVIEw.maximumZoomScale = 1;    scrollVIEw.minimumZoomScale = .25;    scrollVIEw.clipsToBounds = YES;    scrollVIEw.delegate = self;    [scrollVIEw addSubvIEw:imageVIEw];    scrollVIEw.zoomScale = .25;    // Change scroll vIEw sizes according to the screen size    if (UI_USER_INTERFACE_IdioM() == UIUserInterfaceIdiomPhone) {        CGSize result = [[UIScreen mainScreen] bounds].size;        if (result.height == 480) {            [scrollVIEw setFrame:CGRectMake(0,5,320,475)];        } else {            [scrollVIEw setFrame:CGRectMake(0,563)];        } // End if    } // End if}- (voID)dIDReceiveMemoryWarning {    [super dIDReceiveMemoryWarning];    // dispose of any resources that can be recreated.}@end
解决方法 只需在视图控制器(iOS 6)中实现以下功能:

- (BOol)shouldautorotate {   return NO;}
总结

以上是内存溢出为你收集整理的iOS7 – 仅锁定标签栏内的某些视图控制器的方向?全部内容,希望文章能够帮你解决iOS7 – 仅锁定标签栏内的某些视图控制器的方向?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1055014.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存