首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

关于IOS,UIViewController荧屏旋转

2013-08-01 
关于IOS,UIViewController屏幕旋转关于ios上面旋转的问题,ios6以下我们大家都知道,- (BOOL)shouldAutorota

关于IOS,UIViewController屏幕旋转

关于ios上面旋转的问题,ios6以下我们大家都知道,

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfacOrientation

这个函数在旋转的时候会进行调用,并且我们还可以手动设置屏幕方向:

[UIApplicationsharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeLeft;

?

然而,ios6以后,以上两个函数都被舍弃,那么如果我们现在有两个Controller,那么我们想第一个不支持旋转,第二个支持,那么我们该如何实现了,很简单, 如下图操作:

1、勾选你支持的方向,

关于IOS,UIViewController荧屏旋转

2、在AppDelegate中,我们实现了UIApplicationDelegate,这个Delegate里面有一个io6后才加入的旋转api

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window;

此函数在进行了旋转操作后,会被调用,我们可以在这个函数里面进行处理,那些controller需要支持旋转,如:

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window

{

?? ?

? ? if ([window.rootViewController isKindOfClass:NSClassFromString(@"UINavigationController")]) {

? ? ? ? NSArray *arrays = [(UINavigationController *)window.rootViewController viewControllers];

//? ? ? ? NSLog(@"[arrays lastObject]? %@",[arrays lastObject]);

? ? ? ? if (([[arrays lastObject]?isKindOfClass:NSClassFromString(@"UIAlbumViewController")]

? ? ? ? ? ??) {

? ? ? ? ? ? return UIInterfaceOrientationMaskAll;//这里需要支持旋转

? ? ? ? }

? ? }

? ? return UIInterfaceOrientationMaskPortrait;

}

?

这里还需要注意的是,ios6我们一定要指定Window的rootviewController,这样才能转起来。

热点排行