liuzhiyi1992 / ZYCornerRadius

一句代码,圆角风雨无阻。A Category to make cornerRadius for UIImageView have no Offscreen-Rendered, be more efficiency.
http://zyden.vicp.cc/zycornerradius/
1.45k stars 230 forks source link

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

Closed calvingit closed 8 years ago

calvingit commented 8 years ago

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

qq20160421-0 qq20160421-1 qq20160421-2

liuzhiyi1992 commented 8 years ago

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

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

calvingit commented 8 years ago

ZYCornerRadius-master.zip

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

liuzhiyi1992 commented 8 years ago

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

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

liuzhiyi1992 commented 8 years ago

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

loveuqian commented 8 years ago

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

liuzhiyi1992 commented 8 years ago

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

loveuqian commented 8 years ago

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

liuzhiyi1992 commented 8 years ago

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

loveuqian commented 8 years ago

@liuzhiyi1992 pod 上的,感谢

liuzhiyi1992 commented 8 years ago

@loveuqian 请问版本号是?

loveuqian commented 8 years ago

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

liuzhiyi1992 commented 8 years ago

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

zzialx commented 7 years ago

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