iOS横屏、竖屏切换

原创 2012年03月29日 15:08:18

切换横竖屏最直接的方式是调用device的setOrientation方法。但是从sdk3.0以后,这个方法转为似有API,如果要上AppStore的话,要慎用!

    if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) {

        [[UIDevice currentDevice] performSelector:@selector(setOrientation:)

                                       withObject:(id)UIInterfaceOrientationLandscapeRight];

    }

第二种方式是手动的设置界面元素的旋转,包括状态栏、导航栏和视图。以下代码为从竖屏设置为横屏,坐标系是以竖屏的为基准,所以会出现负数的坐标值。

    //设置状态栏旋转

    [[UIApplication sharedApplication] setStatusBarOrientation:UIDeviceOrientationLandscapeRight animated:YES];

    CGFloat duration = [UIApplication sharedApplication].statusBarOrientationAnimationDuration;

    //设置旋转动画

    [UIView beginAnimations:nil context:nil];

    [UIView setAnimationDuration:duration];    

    //设置导航栏旋转

    self.navigationController.navigationBar.frame = CGRectMake(-204, 224, 480, 32);

    self.navigationController.navigationBar.transform = CGAffineTransformMakeRotation(M_PI*1.5);

    //设置视图旋转

    self.view.bounds = CGRectMake(0, -54, self.view.frame.size.width, self.view.frame.size.height);

    self.view.transform = CGAffineTransformMakeRotation(M_PI*1.5);

    [UIView commitAnimations];




[iOS]关于iOS中界面视图横屏/竖屏切换的问题总结

最近在项目中有个这样的需求:整个APP中界面也竖屏为主,且不能自动横竖屏切换,个别页面可以根据手机的方向横竖屏切换;...
  • lqq200912408
  • lqq200912408
  • 2016年04月09日 18:24
  • 15166

iOS 横竖屏的切换以及个别界面横屏

进入正文前先认识几个概念      portrait  竖屏(Home键在下边)      upside down  竖屏(Home键在上边)      landscape  横屏   |l...
  • u010217380
  • u010217380
  • 2017年02月05日 15:38
  • 325

IOS强制横竖屏切换

IOS横竖屏切换是一个很纠结的问题,之前项目中用到了,花了长时间查阅资料以及研究,才找到了一个相对靠谱的解决方案,该方案可以处理IOS9系统以上的屏幕翻转,至于IOS9一下的系统,还没有测试过。 为...
  • leilba
  • leilba
  • 2016年01月28日 22:56
  • 3401

iOS横屏竖屏设置

公司App里面有个需求,即所有界面都是竖屏,且不允许横屏切换,唯独有一个播放视频的界面允许横屏,大家都知道视频播放适配最大的播放屏幕那样是最好的。从网上多方查找资料,总结如下: 最终,根据此需求...
  • qq_22157341
  • qq_22157341
  • 2016年05月10日 17:49
  • 2206

IOS代码管控APP页面横竖屏切换

IOS如何使用代码管控APP页面横竖屏切换? 这个我写了个小demo,下载链接 http://code4app.com/ios/53c78e77933bf098108b4ea0 ...
  • a351945755
  • a351945755
  • 2014年09月09日 18:33
  • 23281

iOS 中横竖屏切换

iOS 中横竖屏切换的功能,在开发iOS app中总能遇到。以前看过几次,感觉简单,但是没有敲过代码实现,最近又碰到了,demo尝试了几种情况,这里就做下总结。 注意 横屏两种情况是反...
  • liyunxiangrxm
  • liyunxiangrxm
  • 2016年07月28日 17:24
  • 876

iOS开发中使用代码控制横竖屏的切换

http://www.jianshu.com/p/650ba0ff626b 很多时候,项目中都有这样的需求:APP中以竖屏为主,个别界面会要求横屏显示,或者要根据用户的手机朝向自动切换横...
  • dkq972958298
  • dkq972958298
  • 2016年11月02日 15:47
  • 971

iOS中如何实现单个页面支持横竖屏(其他页面只能竖屏)

最近在自己的项目里面 有需要做一个需求 : app中某一个页面支持横竖屏, 而其他页面只能竖屏。 实现方法如下: 1 首先需要Xcode中选中支持的屏幕方向 2 Appdelegate中 ...
  • SandyLoo
  • SandyLoo
  • 2016年07月27日 11:52
  • 6613

IOS强制屏幕横竖屏相互切换

最近项目要做一个html5电子协议,里面涉及到签名,竖屏签名不够,所以需要把屏幕切换到横屏,签完字后把签字内容返回到竖屏中的方框内,由于项目不上AppStore,只用企业证书打包,所以使用下面方式来实...
  • jwzhangjie
  • jwzhangjie
  • 2015年08月25日 23:59
  • 5586

iOS:手机横屏时,按下横屏视图上的导航条“返回”按钮后,切换为另一个竖屏视图

验证了很多网上介绍的方法,基本上分为两类: 方法一:旋转视图,然后重新绘画view; 方法二:使用一个已经被apple放弃的私有API函数”setOrientation”(详见参考资料),实现旋转视图...
  • buyicn
  • buyicn
  • 2014年03月11日 21:38
  • 3415
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS横屏、竖屏切换
举报原因:
原因补充:

(最多只允许输入30个字)