- (BOOL)shouldAutorotate
{
return NO;
}
把plist里面的Supported interface orientation 相关横屏的设置删掉后
- (BOOL)shouldAutorotateToInterfaceOrientation:UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsPortrait(interfaceOrientation);
{
return NO;
}
把plist里面的Supported interface orientation 相关横屏的设置删掉后
- (BOOL)shouldAutorotateToInterfaceOrientation:UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsPortrait(interfaceOrientation);
}
ios6 如何横屏显示
- 同一份程序,在ios5横屏显示是正常的,但放到ios6下就不行了,大家谁知道是怎么回事?
- ios5:(通过这个方法实现,但在ios6里这个方法不被调用了)
- - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
- return ( UIInterfaceOrientationIsLandscape( interfaceOrientation ) );
- }
- ios6:(尝试通过这两个方法实现,但没有效果)
- -(NSUInteger)supportedInterfaceOrientations{
- return UIInterfaceOrientationMaskLandscape;
- }
- - (BOOL)shouldAutorotate
- {
- return YES;
- }
- 同时也设置了plist 里的:
- Supported interface orientations :
- Landscape (left home button)
- Landscape (right home button)
- 在ios6下有什么方法可以实现ios5里return ( UIInterfaceOrientationIsLandscape( interfaceOrientation ) );这个方法的功能:
只支持portait,不能旋转:
-(BOOL)shouldAutorotate
{
return NO;
}
支持旋转:
-(BOOL)shouldAutorotate
{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscape; //UIInterfaceOrientationMaskLandscape、UIInterfaceOrientationMaskAll、UIInterfaceOrientationMaskAllButUpsideDown
}
考虑到兼容低版本,最好加上:
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
return YES;
}
简单说明:
UIInterfaceOrientationMaskLandscape 支持左右横屏
UIInterfaceOrientationMaskAll 支持四个方向旋转
UIInterfaceOrientationMaskAllButUpsideDown 支持除了UpsideDown以外的旋转
OS6中抛弃了- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation方法,为了同时支持iOS5和iOS6系统的横竖屏切换,可用如上代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
1
info
.plist
中
Supported
interface orientations中加入所有方向的支持
2
AppDelegate中加入方法 -(NSUInteger)application:(
UIApplication
*)application
supportedInterfaceOrientationsForWindow
:(
UIWindow
*)window{
return
UIInterfaceOrientationMaskAll
;} iOS
6
中为了后续支持任何方向的旋转
3
任何你想控制旋转的界面中加入方法
// iOS6.0
-(NSUInteger)supportedInterfaceOrientations{
return
UIInterfaceOrientationMaskPortrait
;
// 可以修改为任何方向
}
-(
BOOL
)shouldAutorotate{
return
YES
;
}
// iOS5.0
-(
BOOL
)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
return
(toInterfaceOrientation == UIInterfaceOrientationPortrait);
// 可以修改为任何方向
}
这样你的app就可以同时支持iOS
5
和iOS
6
系统的横竖屏切换了
|