关于自动旋转

原文链接:http://www.devdiv.com/home.php?mod=space&uid=23234&do=blog&id=2921

做自动旋转有两套代码:
一是获取NSNotification ,然后去设置回调函数
二是,继承controller,重写shouldAutorotateToInterfaceOrientation方法


方法1:
在congtroller里面重写这个方法
这段代码表示,只是UIInterfaceOrientationPortraitUpsideDown的返回YES

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { if (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) { return YES; } return NO; } 方法2:
以下这段代码表示,只是支持水平翻转
UIDevice *device = [UIDevice currentDevice]; [device beginGeneratingDeviceOrientationNotifications]; [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(doRotate:) name: @"UIDeviceOrientationDidChangeNotification" object: nil]; - (void)doRotate:(NSNotification *)notification { CCDirector *director = [CCDirector sharedDirector]; switch ([[UIDevice currentDevice] orientation]) { case CCDeviceOrientationLandscapeLeft: [director setDeviceOrientation:kCCDeviceOrientationLandscapeLeft]; break; case CCDeviceOrientationLandscapeRight: [director setDeviceOrientation:kCCDeviceOrientationLandscapeRight]; break; default: break; } } 特别要提出的是,director 获取的orientation和[[UIDevice currentDevice] orientation]是不同的,切记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值