看到这篇不错, 直接转载过来了, 没什么可解释的,一看就明白 :)

出处: http://www.marsiphone.cn/tag/uidevice/

整个程序需要支持横竖屏切换得时候,会比较简单,在每个ViewController 的

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

方法中,return YES; 就好。

可如果只是要某个VC( = View Controller)支持横竖屏切换呢?单独在那个view controller中像上面那样做是没有效果的。

这个时候我们可以取 UIDevice的 Orientation来判定:

1、在VC中注册 UIDevice 的 UIDeviceOrientationDidChangeNotification 通知:

NSNotificationCenter *center = [NSNotificationCenter defaultCenter];

[center addObserver:self selector:@selector(doRotate:) name:UIDeviceOrientationDidChangeNotification object:nil];

2、在自己的 doRotate函数里面处理:

- (void)doRotate:(NSNotification *)notification{

UIDevice *myDevice = [UIDevice currentDevice];

UIDeviceOrientation deviceOrientation = [myDevice orientation];

UIApplication *app = [UIApplication sharedApplication];

[app setStatusBarOrientation:deviceOrientation];

}

3.

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

也是要 return YES;

还有这些你喜欢么?

  • 2010/01/01 -- 开发技巧: 利用lipo 编译合并iPhone模拟器和真机通用的静态类库
    如何编译静态类库,大家已经比较熟悉了,而且现在网上也有很多教程,就不多罗唆了. 现在问题是, 我们编译好了会是两个版本的.a文件 分别用于模拟器和iPhone真机, 因为Mac和iPhone的CPU不...
  • 2010/07/03 -- 一行命令提速 iPhoto
    用了几年苹果系统了iPhoto的图片库一直在增大, 现在已经有几十G大小了, 每次打开都非常(极其)慢! 研究了一下, iPhoto的数据库是SQLite的,优化一下数据库,果然! 打开和关...
  • 2010/06/18 -- [转原文]Gmail 过滤器的20个巧妙用途
    不是太喜欢转载别人的文章, 但是这篇文章确实翻译的非常不错, 非常实用 分享给Googler 原文地址: http://rpsh.net/archives/20-ways-to-use-gmail-f...
  • 2010/05/15 -- 动态调用类和方法
    举一个很简单的例子: 某公司的有1000名员工, 每个员工的工资都不一样. 发工资的时候, 这要是人工去发, 耗费的时间和精力是非常大的. 所以财务会打一个表格给银行, 委托银行转账. 站...
  • 2010/04/22 -- 半透明状态栏与导航条的错位
    iPhone的状态栏可以设置成半透明, 这是众所周知的, 用UINavigationController,在页面切换时, 如果你的子viewController的view是全屏的(480*320) 就...