iOS开发之屏幕自动适应高宽

UIViewController类的init方法创建的controller其中自带的UIView会自动根据当前屏幕的大小去初始化UIView的大小,无需程序员手动管理,如果当前管理器存在于tabbar或navigation,应该为UIView添加autoresizingMask = UIViewAutoresizingFlexibleHeight属性,让其不能超过父视力的高,否则自动调整高。如果UIView中有其它子控件需要根据UIView变化而变化 ,那么也应该添加该属性。比如UITableView。这样以来当屏幕不同时,UIView大小不同,而根据其bounds初始化的UITableView的大小也会和屏幕一样,此时如果使用了tabbar或navigation的话UIView与tableView大小也会跟着改变,


需要注意的是 UIView的autoresizingMask的高宽自动调整默认是开着的,而tableView是关闭的,另外该属性起作用时已经是VIewDidLoad方法结束后,换句话说只有当viewDidLoad方法完全结束UIVIew的大小才是当前屏幕减去上bar下bar的后大小。如果要得到这个大小只能在viewDidLayoutSubviews等方法中获取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值