ios 6中如何禁止横屏

- (BOOL)shouldAutorotate

{

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 系统的横竖屏切换了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值