关于masonry布局中的frame和bounds 获取
2018-02-06 17:02
260 查看
写在这,帮助后来人看到绕过这个坑,给自己做个备忘录
在项目中有一个需求将背景视图样式做成上面两个角是直角下面两个角是圆角,视图的高度需要根据数据的变化而变化。
依照以前的习惯将这个视图抽取出来单独做了一个类,来管理这个视图内的所有的视图,但是在使用完masonry布局完之后调用layoutIfNeeded,然后获取视图的frame,然后使用贝塞尔曲线设置圆角,但是奇怪的是视图的frame 获取一直都是0。
由于以前也是按照这个流程来做的,现在没有效果了not work !!
后来经过多次的验证、推翻,验证,后来发现
如果这个视图在Controller中这样操作,没有问题frame 可以获取,但是在新的一个视图类中,这个操作就没有作用了
其中的原因http://www.cocoachina.com/ios/20170928/20671.html有讲解
我的解决方法是
第一个解决方法 只是为了实现效果
将两个视图堆叠实现了这个效果
第二个解决方法就是 将这个视图设置为public 然后在Controller 中设置
若有谬误,请指正
在项目中有一个需求将背景视图样式做成上面两个角是直角下面两个角是圆角,视图的高度需要根据数据的变化而变化。
依照以前的习惯将这个视图抽取出来单独做了一个类,来管理这个视图内的所有的视图,但是在使用完masonry布局完之后调用layoutIfNeeded,然后获取视图的frame,然后使用贝塞尔曲线设置圆角,但是奇怪的是视图的frame 获取一直都是0。
由于以前也是按照这个流程来做的,现在没有效果了not work !!
后来经过多次的验证、推翻,验证,后来发现
如果这个视图在Controller中这样操作,没有问题frame 可以获取,但是在新的一个视图类中,这个操作就没有作用了
其中的原因http://www.cocoachina.com/ios/20170928/20671.html有讲解
我的解决方法是
第一个解决方法 只是为了实现效果
将两个视图堆叠实现了这个效果
第二个解决方法就是 将这个视图设置为public 然后在Controller 中设置
若有谬误,请指正
相关文章推荐
- 【iOS学习笔记 15-12-3】关于masonry布局中的frame和bounds
- iOS开发问题----使用XIB文件布局获取并更改某控件frame的问题
- iphone/ipad关于size, frame and bounds总结和UIScroll view学习笔记
- 【iOS】Frame和Bounds的区别以及获取绝对坐标的办法
- 关于Masonry布局切圆角失效问题
- 关于安卓获取组件或布局的实际宽高和动态设置组件或布局的宽高
- frame和bounds的区别&&关于CGRect包含交错,边缘,中心的检测
- 【iOS界面布局】 frame 与 bounds 的区别与关系
- 关于UIView类的frame属性和bounds属性的origin点的区别
- 关于获取布局的宽高
- ios获取xib布局后的视图frame
- 如何准确获取xib创建的autolayout布局下的view的真实frame
- 关于获取视图自动布局后的尺寸问题
- ios,关于bounds,frame,修改bounds…
- 关于inflate,获取布局xml
- iphone/ipad关于size, frame and bounds总结和UIScroll view学习笔记
- iOS 基础-----关于UIView 的 frame 与 bounds
- android关于获取布局宽高的问题
- iOS 基础-----关于UIView 的 frame 与 bounds
- iOS Masonry布局获取Frame