2014-10-31 98 views
3

使用autolayout时,UITableViewCell内部存在UIImageView问题。具体而言,我希望将图像与边缘(20pt)分开,并使用严格的尺寸(50pt),因此我定义了这一点: imageview to top = leading edgeview = 20 height = width = 50UIImageView忽略UITableViewCell中的AutoLayout约束

enter image description here

我发现imageview完全忽略了它的限制(对于可怕的笑脸感到抱歉,这是谷歌图像给我的)。当然,我希望的布局会有更多的内容,但不管内容是否存在,效果都是一样的。

enter image description here

该项目的设置如下: 做一个单一视图的应用程序 添加表视图,连接数据源,并编写样板,使至少一个小区 创建tableviewcell用笔尖, 一个ImageView的添加到tableviewcell约束到顶部/领先(10件作品,有20的高度) 在imageview的设置图像,因此您可以在运行时看到它

我觉得这应该是足够的,但它似乎没有工作,我错过了一些愚蠢的东西?为了比较,相同的设置没有tableview没有问题,imageview的行为只是预期的方式

回答

0

我认为它不会忽略它。你的设置是正确的。 您只需停止绘制外部图像视图。 在ImageView上勾选此项:Clip Subviews - > enabled。选择同样好的查看填充模式:缩放至填充或宽高比。

+0

感谢您的建议,我在另一篇文章中看到了剪辑子视图,但它没有解决它。 'Scale to Fit'也是默认选中的,我尝试了'Aspect fit/fill',但他们似乎没有帮助。 – Christophe 2014-10-31 14:21:20

+0

这解决了我的问题。我用一些固定大小的模板图像(128x128)初始化了imageView。然后,用相机图片更新图像后,imageView显示整个图片,忽略128x128的限制。我检查了框架,没有任何改变。基本上我错过了这个剪辑的东西。谢谢! – 2016-04-19 14:38:44

12

原来我错过了一步保持安娜的版本工作,我已经将UIImageView与名为imageView的属性(覆盖UITableViewCell默认属性)连接起来,显然,超类中的约束比我添加的任何东西都强。

+0

这里同样的问题。谢谢你清理那个 – jalmaas 2016-03-14 16:20:14