XIB 自定义Cell 或 View,有时往往要拿到里面的子视图。再在子视图上面动态添加其它控件。

在工程中,获取到的一直是初始宽度或高度是在某一手机尺寸下。在另一个手机尺寸下,不起作用,还是当初的值,这就留下了bug.

解决办法是,视图在更新XIB约束时,会调用updateConstraints ,在这个方法再重设子视图frame!

- (void)updateConstraints

官网文档的解释:

Updates constraints for the view.
Custom views that set up constraints themselves should do so by overriding this method. When your custom view notes that a change has been made to the view that invalidates one of its constraints, it should immediately remove that constraint, and then call setNeedsUpdateConstraints to note that constraints need to be updated. Before layout is performed, your implementation of updateConstraints will be invoked, allowing you to verify that all necessary constraints for your content are in place at a time when your custom view’s properties are not changing.
You must not invalidate any constraints as part of your constraint update phase. You also must not invoke a layout or drawing phase as part of constraint updating.
Important:Important
Call [super updateConstraints] as the final step in your implementation.
---------------------

iOS 更新自动布局,获取子视图frame相关推荐

  1. iOS 如何先由子视图处理子手势后再交由父类

    项目中,要在UITableViewCell中处理touchesBegan的手势,又要处理TableView中处理委托方法 didSelectRowAtIndexPath, 如果在UITableView ...

  2. ios视图frame和bounds的对比

    子视图实际位置=父视图实际位置-父视图bounds坐标+子视图frame坐标 一.bounds 只影响"子视图"相对屏幕的位置,修改时不会影响自身相对屏幕的位置 bounds坐标: ...

  3. iOS遍历打印所有子视图

    引 有时候搞研究啊,需要找找一个View有哪些子View,主要是分别是什么类型的,这种事情用递归来做比较好. 我稍微将这个打印做的更友好了一点,效果大致是这样的: 前面的序号表示所在的层级,同时还有一 ...

  4. 【iOS】自动布局(AutoLayout)和手写布局(frame)

    1.1 AutoLayout原理 iOS 中视图所需要的布局信息只有两个,分别是 origin/center 和 size,在这里我们以 origin & size 为例,也就是 frame ...

  5. iOS开发-自己定义重用机制给ScrollerView加入子视图

    iOS开发-自己定义重用机制给ScrollerView加入子视图 事实上这个问题我非常早就想过,仅仅是没有通过去写程序实现,昨天有人提起,我就巧了一下 不知道大家打印郭tableview:cellfo ...

  6. ios 怎么禁止点击子视图的时候不响应父视图的点击事件

    方法一 可以在触发手势的方法里添加一个区域的判断,如果点击区域正好是子视图的区域,则过滤掉,不处理此时的手势,如果点击的区域没有被子视图覆盖则,处理手势的事件.具体的代码如下:  if( CGRect ...

  7. ios swift view父视图(半)透明,子视图不透明

    文章目录 1.两种设置父视图半透明后会导致子视图也半透明的情况 1.1 代码 1.2 storyboard 2.解决办法:父视图半透明,子视图不透明 2.1 代码:a和b都可以 2.2 storybo ...

  8. 怎么获取layer中的表单值_layer获取弹出frame层数据

    通常,弹出层关闭之前,需要将部分数据传入父页面.这个时候怎么办呢? 通过success获取frame层的index. 然后通过cancel事件,获取子页面数据. 拿获取高德地图坐标为例: // 显示地 ...

  9. iOS下bound,center和frame

    ---恢复内容开始--- 本文转发至:http://www.xuebuyuan.com/1846606.html 在写程序的时候发现,iOS下的坐标.位置很容易弄乱,特别是在不同的坐标系统中,必须完成 ...

最新文章

  1. python日期加减源码_Python 时间序列的时间延迟计算
  2. 从语言模型到Seq2Seq:Transformer如戏,全靠Mask
  3. 选择“关机”还是“睡眠”?
  4. ArcGIS Engine Runtime 10 Setup步骤
  5. 实现DIV居中布局三种途径(转)
  6. 第 5-5 课:线程安全——synchronized 和 ReentrantLock + 面试题
  7. virtualbox手动挂载共享文件夹
  8. 高考英语口试计算机系,高考英语口试材料.docx
  9. 利用matlab做dsp实验,华工DSP实验一利用Matlab进行频谱分析
  10. 2009年1月答疑帖
  11. ES6学习(八)—Promise对象 超鸡重要
  12. 老项目换unicorn的大致步骤
  13. Data Lake Analytics IP白名单设置攻略
  14. .net Remoting与Web Service的比较
  15. 6. Magento2 --- 创建主题
  16. Linux安装cURL
  17. PCB寄生电容和寄生电感的计算
  18. 腾讯课堂老师可以看到学生本人吗?
  19. Pandas 日期处理:生成及去除工作日与节假日
  20. Python3.7 下安装pyqt5

热门文章

  1. sqlserver数据库清理(收缩文件)
  2. 跳过校园网开机直连宽带
  3. while语句和for嵌套c语言,关于循环的嵌套,说法错误的是() 答案:三种循环(while循环、do-while循环和for循 环)不可以互相嵌套。...
  4. 新手福利——理解java多态的概念和作用
  5. ZZULIOJ 1244:学长被狗追了!
  6. EventBus 事件驱动
  7. 谈谈 Bias-Variance Tradeoff
  8. 你信吗?任正非在华为持股仅1.42%!华为轮值CEO徐直军全面剖析华为
  9. 改造开源刻录软件InfraRecorde
  10. MYSQL原理、设计与应用