欧阳大哥2013

Results 44 comments of 欧阳大哥2013

其实很简单,就是我在工程里面的单元测试里面的文件:[MyLayoutPerformanceTestCase.m](https://github.com/youngsoft/MyLinearLayout/blob/master/MyLayoutTests/MyLayoutPerformanceTestCase.m)里面对各种布局做了性能测试,然后根据得到的数据做的EXCEL表格。

这个其实是算Demo的一个BUG,而不是库的BUG。回头我修复一下DEMO的问题看看,谢谢提醒。

动态布局的能力,目前只是在栅格布局MyGridLayout中有体现,而且也只是局限于布局这块的能力。MyLayout框架的特点不是在动态布局上,而是在功能齐全之上。

目前没有复用,因为如果考虑复用的话还是collectionview是最佳的实践。

如果A隐藏了,就可以理解为B的top就变成了A的top的位置了。因此这个偏移量其实是没有作用了。

解决的方法就是将A的高度为0即可,如果A是UILabel的话在设置高度为0时还需要设置一下A.visibility = MyVisibility_Invisible。当然如果你是只是想A隐藏了但是还占位的话就直接设置A.visibility = MyVisibility_Invisible 就可以了。 总之对于视图的隐藏最好使用visibility属性,而不是直接通过hidden属性来设置, visibility属性可以用来控制显示以及隐藏占位和隐藏不占位三种状态。

您好,我去查看了一下QMUIButton的实现,发现是这个类重写了sizeThatFits这个系统方法。而布局的.wrap属性则是通过调用sizeThatFits方法来得到自适应尺寸的。因此可以得出QMUIButton重写的sizeThatFits是有BUG的。而至于autolayout设置约束没有问题的原因是autolayout进行自适应计算时并不是调用的sizeThatFits来实现尺寸自适应的。

MyLayout对普通视图的自适应是感觉不出来的,所以造成了你的view没有尺寸。问题是你既然已经把view当做一个容器来包装imageview和label。那么为什么不将view改为一个水平先行布局呢?代码还会少很多。

因为mylayout内部是用frame来实现的,所以在布局开始时如果是非布局子视图,用的不是mylayout的约束,而是用的autolayout约束的话,可能不会生效。除非autolayout约束设置完后其中的frame计算生效才可能有效。

一般不响应事件的原因就是您在横屏时submitBtn的父视图,或者父视图的父视图的尺寸发生了变化。更确切的说就是横屏时那些父视图的宽高出现问题了导致事件无法传递到submitBtn上,建议您在横屏时调试一下视图树是不是这个原因导致的。另外建议您贴出submitBtn的父视图,以及父视图的父视图的布局约束代码,以便更加精确的定位问题。