文档章节

视图控制器 旋转

缘起缘落
 缘起缘落
发布于 2014/09/18 21:33
字数 464
阅读 12
收藏 0


用来控制当前视图控制器是否支持旋转
- (BOOL)shouldAutorotate  // 自动旋转
{
    return YES;
}



设置屏幕旋转的方向,系统默认支持三个方向的旋转,竖直,左右横屏.
    UIInterfaceOrientationMaskPortrait 竖直方向 正方向
    UIInterfaceOrientationMaskLandscapeLeft 左横屏
    UIInterfaceOrientationMaskLandscapeRight 右横屏
    UIInterfaceOrientationMaskLandscape 左右 横屏


- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAll;
}



当屏幕将要旋转时触发(此时屏幕还未旋转)
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
}


当屏幕旋转时触发.
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
 

在该方法中,如果想要在屏幕旋转时添加自己的动画,在该方法中实现.
    [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
}



当屏幕旋转完成之后触发.
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
      
    [super didRotateFromInterfaceOrientation:fromInterfaceOrientation];
     旋转之后,继续音乐播放,继续播放视频,打开用户交互.
}


当对视图控制器上的View布局时重新布局时 触发.
- (void)viewWillLayoutSubviews
{
    
    [super viewWillLayoutSubviews];

}




   释放掉暂时不使用的内存,供当前程序使用.
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
      Dispose of any resources that can be recreated.
     当收到内存警告时,移除未在当前屏幕显示的视图.
    
    判断是否可以安全的移除控制器的View
     判断当前视图控制器的view是否正在屏幕上显示. self.view.window 是否为nil;
    
  判断当前视图控制器的view是否已经成功加载. isViewLoaded 视图是否加载
    
    
    if (!self.view.window && [self isViewLoaded])
    {
         安全移除控制器的view
        self.view = nil;   相等于 [_view release]; _view = nil;
    }
 
    
}



 当屏幕每次旋转时都会触发视图的重新布局方法,为该视图上的子视图重新布局.
- (void)layoutSubviews
{
    [super layoutSubviews];
 
    
    对子视图重新布局.
    根据屏幕旋转的方向,决定布局的样式.
    1.获取屏幕旋转的方向 statusBarOrientation 状态条 高度 20
    
    switch ([UIApplication sharedApplication].statusBarOrientation) {
        case UIInterfaceOrientationPortrait:
  
    
            
        case UIInterfaceOrientationPortraitUpsideDown:
    
            break;
        case UIInterfaceOrientationLandscapeLeft:
     
           break;

        case UIInterfaceOrientationLandscapeRight:
            
 
            break;
            
        
        default:
            break;
    }
}

本文转载自:http://qccccc.blog.51cto.com/6004423/1548924

缘起缘落
粉丝 0
博文 108
码字总数 356
作品 0
郑州
高级程序员
私信 提问
ios中屏幕旋转的控制

项目需求,app中大部分页面不支持旋转,仅指定的几个页面提供旋转支持: 通过查询相关资料,可通过以下方法实现 - (UIInterfaceOrientationMask)application:(UIApplication )application su...

HillYoung
2016/08/30
52
0
UIViewController视图控制器

1.视图控制器功能概述 分担AppDelegate的工作 实现模块独立,提高复用性 控制视图大小变换、布局视图、响应事件 检测视图的切换 检测以及处理屏幕旋转. 2.UIViewController创建及初始化工作 ...

tuwangsheng
2014/04/27
0
0
UI_03 ⾃定义视图、视图控制器

⼀、⾃定义label-textField视图 自定义LTView类,封装UILabel与UITextField,实现快速创建以下类型的视图 **** 使用UIView子类实现 **** LTView.h #import <UIKit/UIKit.h> @interf...

黑伞将军
2015/08/18
111
0
UIViewController生命周期

UIViewController继承了UIResponder,而UIResponder继承了NSObject,UIViewController是所有视图控制器的父类。 在MVC模式中,UIViewController扮演C(controller)的角色,控制视图以及模型...

Dean83
2012/08/08
665
1
移动开发:初学 iOS-UIViewController 心得

初学 iOS,本文翻译了一些 iOS 官网上的 UIViewController 的知识点,如有不到位或不正确的地方,还请指正: 本文所介绍的内容的目标: 理解content view controllers 和 container view con...

OneAPM蓝海讯通
2016/02/24
44
0

没有更多内容

加载失败,请刷新页面

加载更多

Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
5
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部