消息通知方式设置旋转view

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

出处: 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;

posted on 2012-11-15 18:06  无量少年  阅读(172)  评论(0编辑  收藏  举报

导航