• 处理屏幕旋转


    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

  • 相关阅读:
    半夜的时候,干了个活,反了个小软件
    bzoj2243[SDOI2011]染色
    bzoj4034[HAOI2015]T2
    bzoj2661[BeiJing wc2012]连连看
    bzoj1406[AHOI2007]密码箱
    bzoj1452[JSOI2009]Count
    bzoj1934[Shoi2007]Vote 善意的投票
    bzoj1787[Ahoi2008]Meet 紧急集合&bzoj1832[AHOI2008]聚会
    bzoj1293[SCOI2009]生日礼物
    bzoj1221[HNOI2001] 软件开发
  • 原文地址:https://www.cnblogs.com/xs514521/p/5207355.html
Copyright © 2020-2023  润新知