美文网首页
iOS cell中图片在xib连线命名imageView冲突导致

iOS cell中图片在xib连线命名imageView冲突导致

作者: plantseeds | 来源:发表于2016-07-18 20:43 被阅读87次
场景:

用xib写的cell(灰色背景),在cell的contentView上放一个四周边距12的白色view,再在view中添加了1个imageView、2个label。却出现了一个莫名其妙的bug,第一次显示时界面正常,一旦点击cell,imageView却被放大了,如图:

Untitled.gif

于是把cell中所有的约束重写了3遍,还是不对,确定约束添加无误后,在cell中重写layoutSubviews方法,打印imageView.frame,发现点击后imageView.frame有变化!但是,我没有添加cell点击事件操作,也没有改变过imageView的约束。

原因:

这个bug找了整整一下午,晚上突然发现,@property声明了imageView,却没有连线!最初以为是我手残删掉了这根线,于是删掉重连了下,运行后bug依然还在。。。

这才注意到,imageView线没连上!,有一个警告:

屏幕快照 2016-07-18 下午7.44.58.png

意思是说:@property不会帮我们声明imageView这个属性,因为它是已经被声明过,并且是只读的。

果然,我把@property imageView注释掉,依然可以在调用cell.imageView,😂,原来cell中自带imageView这个属性:

屏幕快照 2016-07-18 下午8.36.43.png

这个提醒了我,以前遇到过类似问题,代码中命名尽量不要和系统的命名冲突了。

相关文章

网友评论

      本文标题:iOS cell中图片在xib连线命名imageView冲突导致

      本文链接:https://www.haomeiwen.com/subject/fxfmjttx.html