liuzhiyi1992/ZYCornerRadius

使用Masonry自动布局,如果在UIImageView初始化时不提供frame的情况下,圆角失效

calvingit opened this issue · 13 comments

我记得前一两个版本是可用的,我代码没改。升级之后,就没有圆角效果了。可能是你计算的时候必须提供frame,而且这个frame的size不能太小,要跟实际的相差不大,否则模糊了。
我没仔细看你的代码,先报告一个错误吧。

qq20160421-0
qq20160421-1
qq20160421-2

我这边使用autoLayout试验,正常来说是不需要主动提供Frame的,会在setImage时取autoLayout的frame,没有圆角效果的情况是否是同一个imageView调用了两个API呢?

而主动去setFrame的话,如果size过小是会导出模糊的情况。只要解决第一个问题就ok了,我这边没有集成Masonry,朋友这个是Demo工程吗?方便发给我看看?

ZYCornerRadius-master.zip

会在setImage时取autoLayout的frame
一般是初始化的时候先设置image,之后用autolayout

autoLayout在viewWillAppear的时候就做了,Masonry要到运行时,然后setImage又非SDWebImage异步网络回调,导致setImage发生在Masonry计算出frame之前,导致圆角为0。

这个问题稍后解决后我再通知朋友你。

问题解决了,pod正在更新0.9.1 : )

所以使用约束创建的 view 应该在什么时候去 调用 zy_cornerRadiusRoundingRect 呢

@loveuqian 现在是任何时候都可以,一般预配置的时候设好就可以永久生效了

@liuzhiyi1992
貌似不行,不过我用的是 snapkit
还是得去 viewdidlayoutsubview 里面设置
另外给 button 的图片设置圆角,直接让 button 里面的 imageView 去调用方法
貌似会无效

@loveuqian button圆角直接设置cornerRadius不会触发离屏,snapkit的问题有空我看看,朋友现在用的版本来源是?

@liuzhiyi1992
pod 上的,感谢

@loveuqian 请问版本号是?

@liuzhiyi1992
我没有指定版本
使用 pod 官方源
应该是最新版本

@loveuqian 现在试试下载最新的0.9.4看看

用在自定义cell上面的snapLKit设置圆角怎么设置,没有viewdidlayoutsubview可以调用