被一个诡异的BUG折磨了两天,table view cell 的图片设置好后,本来显示没有问题,但只要选中,位置就会发生偏移。
期间用尽各种方法debug:检查table view和cell的设置,检查所有的约束,检查第三方(PINRemoteImage),甚至把图片用Core Graphics绘制成了标准尺寸后再赋值。然!并!卵!
Google了半天后,大部分答案指向命名,把UIImageView命名为了imageView
,导致和系统内置的image view冲突。呵呵,老子又不是第一天写代码的菜鸟,怎么会犯这种低级错误。但是为了以防万一,我还是详细的检查了一下,确实没有问题。
然后就一直抓耳挠腮,不得其解,还好我不用鼠标,不然鼠标估计都要被我砸烂了。
终于,在stackoverflow的一个角落发现了一个哥们这么说道:
Just in case someone else, like me, come upon this issue where non of the above worked.
I too had named my UIImageView: imageView. But, for some reason, even after renaming it, the problem persisted. I tried everything I could think of, Reset Simulator, Clean Project, adding removing constrains....
As it turns out, simply deleting the UIImageView from the Storyboard and dragging a new one fixed it.
大意是,如果你之前有把这个UIImageView命名为了imageView
,那么就算后来你把连线和名字都改掉、重置模拟器、清理项目、重置约束,干什么都不好使!因为这是Xcode的BUG!只能删了这个UIImageView,重新拉一个上去。。。
我试了一下,果然是这样,再详细回想,确实是在刚开始做验证的时候,懒得想名字直接取了个imageView
,没想到懒了这几秒钟,耗掉了我一天的时间。
系统BUG,最为致命。
网友评论