iOS强制旋转屏幕

Advertisement

// 状态栏动画持续时间
CGFloat duration = [UIApplication sharedApplication].statusBarOrientationAnim<wbr style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left"><span style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left">ationDuration;</span><br style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left"><span style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left">// 基础动画</span><br style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left"><span style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left">[UIView beginAnimations:nil context:nil];</span><br style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left"><span style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left">[UIView setAnimationDuration:duration];</span><br style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left"><span style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left">// 修改状态栏的方向及view的方向进而强制旋转屏幕</span><br style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left"><span style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left">[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLa</span><wbr style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left"><span style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left">ndscapeRight];</span><br style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left"><span style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left">self.navigationController.view.transform = CGAffineTransformIdentit</span><wbr style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left"><span style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left">y;</span><br style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left"><span style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left">self.navigationController.view.transform = CGAffineTransformMakeRot</span><wbr style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left"><span style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left">ation(M_PI / 2);</span><br style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left"><span style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left">self.navigationController.view.bounds = CGRectMake(self.navigationController.view.bounds.origin.x, self.navigationController.view.bounds.origin.y, kHorizontalWidth, kHorizontalHeight + 20);</span><br style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left"><br style="color:rgb(70,70,70); font-family:simsun; font-size:14px; line-height:21px; text-align:left"></wbr></wbr></wbr></wbr>

[UIView commitAnimations];

转自:http://blog.sina.com.cn/s/blog_621403ef01011mn7.html

Similar Posts:

  • iOS强制屏幕旋转

    我们开发的手机应用,为了适应客户习惯,也为了提高客户体验,有时我们不得不在手机处于不同状态的时候使我们手机屏幕也跟着旋转,但是,有的时候特殊情况下我们需要将屏幕强制旋转,以达到我们想要的效果.这里根据自己的经验为大家介绍3种强制转换的方式. 第一种:在我们项目的初始化文件里(也就是Delegate文件)加上下边这个方法,当然这是一个全局设置,也就是说当我们设置了这个方法后对我们整个项目都会起作用. //添加代码禁止屏幕旋转 - (NSUInteger)application:(UIApplic

  • iOS中关闭屏幕旋转功能时如何判断屏幕方向

    首先讲强制横屏和竖屏,其实很少App需要强制转屏的,一般在视频播放,相机这类需要旋转屏幕 (1)这段代码是直接横屏 (interfaceOrientation 这个枚举有各种情况) // 视图显示为横屏状态 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientati

  • iOS 锁屏强制切换屏幕的方向

    //根据业务需求在屏幕锁定的情况下,设置屏幕的方向,只测了IOS8.1系统 if([[UIDevice currentDevice]respondsToSelector:@selector(setOrientation:)]) { [[UIDevice currentDevice]performSelector:@selector(setOrientation:) withObject:(id)UIInterfaceOrientationLandscapeRight]; } if ([[UIAp

  • ios5旋转屏幕

    ios5旋转屏幕:(以下为关健代码,附件中有实例) 竖屏和横屏是两个不同的ViewController,在实现时需建两个viewController //屏幕旋转 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{ if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toIn

  • Android旋转屏幕导致Activity重建

    最近做一个小应用,自然想做成兼容性高点的可是布局采用Fragment.于是在应用即将完成的时候,发现了一个问题,就是屏幕旋转问题,当设备屏幕旋转,应用的Activity就会被重建.如果这会是在输入一个表单,并且快完成了.这个么一不小心一转,发现Activity被重建,之前写的东西全部消失.这等心情,简直不知道该找谁发泄.言归正传. Activity是负责与用户交互的最主要机制,任何"设置"(Configuration)的改变都可能对Activity的界面造成影响,这时系统会销毁并重建A

  • Activity与Fragment 的生命周期简述与旋转屏幕

    网上关于Activity的生命周期和Fragment的生命周期介绍已经很多了,但是关于我看了肯多记得有点乱了,所以想做个实验,夯实夯实这方面知识. 首先先看Activity的生命周期内的回调方法: onCreat(),onStart(),onResume(),onPause(),onStop(),onDestroy(),onRestart()除此之外还有两个方法也是比较重要的那就是onSaveInstanceState和onReStoreInstanceState方法,这两个方法是用于在Acti

  • 方法1:禁止旋转屏幕

    当屏幕旋转时,这个Configuration就发生了改变,因此当前显示的Activity需要被重建,Activity对象会被终止,它的onPause().onStop()和onDestroy()方法依次触发,然后一个新的Activity对象被创建,onCreate()方法被触发.假设屏幕旋转前,用户正在手机上填写一个注册表单,如果处理不当,用户会发现旋转后的表单变成空白的了,严重影响使用体验. 要解决这个问题有三种方法: 方法1:禁止旋转屏幕 毫无疑问,这是最懒的办法了,相当于回避了本文提出的问

  • iOS 屏幕旋转 强制旋转

    大部分情况是 有且仅有一个页面横屏或者不横屏.so.... 情况一:使用 UINavigationController 的项目 比如仅有一个页面支持横屏: 1.plist文件 (设置2后,plist就会改变) 2.  设置所支持的方向 3.代码: 重写一个继承于UINavigationController的类,还有要横屏的Controller都要用下面的代码,但要相应修改YES 还有 NO - (BOOL)shouldAutorotate{ return YES; } - (UIInterfac

  • ios屏幕强制旋转

    if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) { [[UIDevice currentDevice] performSelector:@selector(setOrientation:) withObject:(id)UIInterfaceOrientationPortrait]; }

  • 处理iOS设备的屏幕旋转

    某些情况下,不强制的给用户唯一的屏幕角度给用户.这样用户可以旋转手机得到不同的视觉体验. 最简单的就是safari,横看竖看都可以. 这时需要捕捉用户的屏幕旋转事件并处理.很简单,才两步.比把大象装冰箱都简单. 下面是代码: 1 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 2 { 3 self = [super initWithNibName:nibNameOrNil bundl

Tags: