iphone – xcode – 如何将视图锁定为纵向模式,但仍允许一个视图旋转?

iphone – xcode – 如何将视图锁定为纵向模式,但仍允许一个视图旋转?,第1张

概述我遇到设备轮换问题.除了一个视图,我显示公司启动画面,我想将所有剩余的应用程序视图锁定到纵向显示.在项目设置中,支持的方向是Portrait和LandscapeLeft.在“公司飞溅”中它工作正常,无论我如何旋转设备,视图旋转都被锁定在LandscapeLeft中.在我将设备向左旋转的所有其他视图中,视图会改变而不是保持纵向显示.这些方法甚至没有开火?如果我从项目中支持的方向中删除横向,则会拧紧“ 我遇到设备轮换问题.除了一个视图,我显示公司启动画面,我想将所有剩余的应用程序视图锁定到纵向显示.在项目设置中,支持的方向是Portrait和Landscapeleft.在“公司飞溅”中它工作正常,无论我如何旋转设备,视图旋转都被锁定在Landscapeleft中.在我将设备向左旋转的所有其他视图中,视图会改变而不是保持纵向显示.这些方法甚至没有开火?如果我从项目中支持的方向中删除横向,则会拧紧“公司启动”视图.我尝试将shouldautorotate更改为NO,但这没有帮助.试图通过 here发布的建议,但这没有帮助.如果我将以下代码放入我的AppDelegate.m,一切都被锁定为纵向模式,并且“公司启动”在访问时崩溃.

-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrIEntationsForWindow:(UIWindow *)window{    return UIInterfaceOrIEntationMaskPortrait | UIInterfaceOrIEntationMaskPortraitUpsIDeDown;}

除了一个屏幕外,无论设备如何旋转,如何将视图锁定为纵向模式?

**来自’公司飞溅’视图的方法.再次,应该是这样的工作.

-(NSInteger)supportedInterfaceOrIEntations{    return UIInterfaceOrIEntationMaskLandscapeleft;}

**来自所有其他视图的方法,当我不希望它们旋转时,这些视图会旋转出来

-(BOol)shouldautorotatetoInterfaceOrIEntation:(UIInterfaceOrIEntation)interfaceOrIEntation{    // IOS5 Only returning that it should rotate to potrait    return (interfaceOrIEntation == UIDeviceOrIEntationPortrait);}-(BOol)shouldautorotate{    // forcing the rotate IOS6 Only    return YES;}-(NSInteger)supportedInterfaceOrIEntations{    // return number or enum IOS6 Only    return UIInterfaceOrIEntationMaskPortrait;}

我想也许可能是因为UITabbarController是根控制器而我在VIEwController中呢?这些方法甚至没有开火?

解决方法 将观察者添加到要旋转的视图的vIEwDIDLoad方法,如下所示:

[[UIDevice currentDevice] beginGeneratingDeviceOrIEntationNotifications];[[NSNotificationCenter defaultCenter] addobserver:self selector:@selector(orIEntationChanged:) @R_404_6889@:UIDeviceOrIEntationDIDChangeNotification object:[UIDevice currentDevice]];

然后根据orIEntationChanged方法中的横向视图设置视图,如下所示:

- (voID) orIEntationChanged:(NSNotification *)note{UIDevice * device = [UIDevice currentDevice];switch(device.orIEntation){    case UIDeviceOrIEntationPortrait:        break;    case UIDeviceOrIEntationPortraitUpsIDeDown:        break;    case UIDeviceOrIEntationLandscapeleft:        break;    case UIDeviceOrIEntationLandscapeRight:        break;    default:        break;  };}
总结

以上是内存溢出为你收集整理的iphone – xcode – 如何将视图锁定为纵向模式,但仍允许一个视图旋转?全部内容,希望文章能够帮你解决iphone – xcode – 如何将视图锁定为纵向模式,但仍允许一个视图旋转?所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存