由于种种原因,最近才开始真正在新项目中使用autolayout,使用过程中虽说是比较顺畅,但是也遇到了一些麻烦,比如:

我使用的XIB默认是4寸屏幕,我再XIB中增加一个viewA,宽度为320,约束为SuperView等宽。

然后我用4寸模拟器,代码跑起来,在ViewDidload中取出viewA的宽度,发现宽度为320,SuperView(self.view)的宽度也为320.

这个结果没有错误。

但是我用5.5寸的模拟器,代码跑起来,在ViewDidLoad取出viewA的宽度发现还是320,SuperView(self.view)的宽度也为320.

此时就不对了

这会导致在ViewDidLoad中初始化一些控件时,导致这些控件的frame的大小是在XIB默认的大小,而不是我们增加约束后希望的大小。

笔者这个问题纠结了很久也百度Google了很久,也不知道是关键字没有正确还是什么原因,寻求无果,最后还是请教一个大神才豁然开朗。

原来在iOS5.0开始就有另外一个生命周期函数ViewDidLayoutSubViews这个方法基本可以代替ViewDidload使用,只不过差别在于前者是约束后,后者是约束前。

当让聪明的读者肯定会想到有Did肯定也会有Will,即ViewWillLayoutSubViews.

http://www.bkjia.com/Androidjc/938015.html

iOS viewDidLayoutSubviews,viewdidload的更多相关文章

  1. 梦想还需有,因它必实现——发现最新版iOS漏洞,OverSky团队专访

    梦想还需有,因它必实现——发现最新版iOS漏洞,OverSky团队专访    “成功了!”,随着一句欢呼声在阿里巴巴西溪园区传出,Cydia的图标出现在一部iOS9.3.4的iPhone6上并成功运行 ...

  2. 使用未付费的账号真机调试 iOS 程序,过几天后程序一打开就会闪退

    使用未付费的苹果开发者账号真机调试 iOS 程序,过几天后程序一打开就会闪退.   解决办法: 删除 Provisioning Profile,重新配置一次. 终极解决办法:花钱购买苹果开发者账号. ...

  3. Reveal分析IOS界面,plist文件读取

    Reveal分析IOS界面,需要得到app的 softwareVersionBundleId上传到iphone中 , 而IOS8的iTunesMetadata.plist (设备路径/var/mobi ...

  4. iOS 视图,动画渲染机制探究

    腾讯Bugly特约作者:陈向文 终端的开发,首当其冲的就是视图.动画的渲染,切换等等.用户使用 App 时最直接的体验就是这个界面好不好看,动画炫不炫,滑动流不流畅.UI就是 App 的门面,它的体验 ...

  5. IOS 开发,调用打电话,发短信,打开网址

    IOS 开发,调用打电话,发短信,打开网址   1.调用 自带mail [[UIApplication sharedApplication] openURL:[NSURL URLWithString: ...

  6. iOS 1 到 iOS 10 ,我都快老了

    iOS 1:iPhone诞生 虽然很难想像,但初代iPhone在问世时在功能方面其实远远落后于那时的竞争对手,比如Windows Mobile.Palm OS.塞班.甚至是黑莓.它不支持3G.多任务. ...

  7. [Xamarin.iOS] Visual Studio中Xamarin.iOS项目,无法加入PCL项目参考、NuGet组件参考

    [Xamarin.iOS] Visual Studio中Xamarin.iOS项目,无法加入PCL项目参考.NuGet组件参考 解决方案 目前Visual Studio中最新版本的Xamarin.iO ...

  8. 移植samba到ios平台,最新支持ios8.3

    移植samba到ios平台,最新支持ios8.3 下载https://github.com/kolyvan/kxsmb 开源项目 1  cd samba-4.1.14 2  vi Rakefile 修 ...

  9. ios中,长按Webview中的图片

    我们所要解决的问题如题目所示:ios中,长按Webview中的图片,将图片保存到本地相册. 解决方案:对load的html网页,执行js注入,通过在webview中执行js代码,来响应点击事件,通过j ...

随机推荐

  1. Touching segments(数据结构)

    题目链接 Problem Statement Your Maths professor is a very nice guy, but he sometimes comes up with not s ...

  2. 写js过程中遇到的一个bug

    <div class="func_Div" id="xxcx"><span>信息查询</span>              ...

  3. 清除样式的css

    html, body, div, ul, li, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, form, input, textarea, th, td, s ...

  4. jq 实现头像(气泡式浮动)

    前提:假设每个头像都装在li中. function headMove() { $('li').each(function () { var myLeft = Math.floor(Math.rando ...

  5. 群晖的moments套件 发生未知错误

    一次了,哎 也不知道什么原因引起的 只能再搞一遍 先把homes文件夹数据弄走,免得弄丢 然后卸载momemts,删除数据库 还有其他人遇到这个情况http://www.gebi1.com/threa ...

  6. Python实现十大经典排序算法(史上最简单)

    十大排序算法(Python实现)一. 算法介绍及相关概念解读 算法分类十种常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn), ...

  7. T2487 公交司机(搜索题)(小L的一生)

    https://www.luogu.org/problem/show?pid=T2487 题目背景 小L那没出息的儿子当上了一个公交司机. 题目描述 每个司机都有一个牌子,牌子的正面标出了这个司机所开 ...

  8. TZ_16_Vue的v-for、v-if、v-show、v-bind、watch

    1.v-for 遍历数据渲染页面是非常常用的需求,Vue中通过v-for指令来实现. 1>遍历一个users数组 <!-- ve-for --> <ul> <li ...

  9. body-parser与querystring与multer的区别

    body-parser express中间件 body-parser是用来解析http请求体的,是express默认使用的中间件之一. (只解析post的普通数据请求,无法解析post文件请求) 使用 ...

  10. 标记扩展和 WPF XAML

      本主题介绍 XAML 的标记扩展概念,包括其语法规则.用途以及底层的类对象模型. 标记扩展是 XAML 语言以及 XAML 服务的 .NET 实现的常规功能. 本主题专门详细论述了用于 WPF X ...