首页 > 其他 > 详细

处理屏幕旋转

时间:2016-02-22 16:53:24      阅读:110      评论:0      收藏:0      [点我收藏+]

1.获取HOME键方向

视图控制器本身能检测到屏幕的旋转,如果要处理屏幕旋转,需要重写方法

supportedInterfaceOrientations(设置设备支持旋转的方法, 如果不添加,视图控制器将无法检测到屏幕的旋转)

旋转后键盘收回

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator

视图控制器会自动调整view的大小以适应屏幕的旋转,bounds被修改,触发view的layoutSubviews的方法

所以重写layoutSubviews方法,根据设备方向,重新布局

layoutSubviews方法:这个方法,默认没有做任何事情,需要子类进行重写

注意:layoutSubviews在以下情况下会被调用:

  1. init初始化不会触发layoutSubviews
  2.    但是是用initWithFrame 进行初始化时,当rect的值不为CGRectZero时,也会触发
  3. addSubview会触发layoutSubviews  
  4. 设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化
  5. 滚动一个UIScrollView会触发layoutSubviews
  6. 旋转Screen会触发父UIView上的layoutSubviews事件
  7. 改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件

2.获取状态栏的方向

[UIApplication sharedApplication].statusBarOrientation

 

处理屏幕旋转

原文:http://www.cnblogs.com/xs514521/p/5207355.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!