UITableView 单元格中的 imageView 在 touchdown 事件中违反 setClipsToBounds
Posted
技术标签:
【中文标题】UITableView 单元格中的 imageView 在 touchdown 事件中违反 setClipsToBounds【英文标题】:imageView in UITableView cell violates setClipsToBounds on touchdown event 【发布时间】:2012-04-25 18:33:28 【问题描述】:我有一个UITableView
,其单元格中的图片来自位于其imageView
中的URL。
图像不是正方形(是横向),但它最初加载为正方形,其中contentMode
是scaleAspectFill
和setClipsToBounds
是YES
。到目前为止一切顺利。
但是,当我触摸单元格时,图像“变宽”了,也就是说,它保留了scaleAspect
部分,但现在向右渗出,好像setClipsToBounds
是NO
。
如果行/单元格不在视野范围内并以回收方式返回,则会发生相同的行为,在这种情况下,我从内存缓存而不是 URL 获取图像。
我尝试为cell.imageView
明确设置contentMode
和setClipsToBounds
,但似乎没有效果。有什么建议吗?谢谢。
达阵前:
着陆后(或从缓存中回收):
【问题讨论】:
【参考方案1】:imageView
单元格属性(与其他textLabel
和detailTextLabel
相同)根据图像大小更改layoutSubviews
中的框架。所以你可以重新实现layoutSubviews
以获得固定的框架矩形。顺便说一句,试试TableKit 库。
【讨论】:
谢谢。你的意思是我必须继承 UITableViewCell,使用该类型的单元格,并覆盖该类的 layoutSubviews? 首先,您需要在宣传您撰写的项目时披露您的作者身份。推广自己的产品或网站时适用的规则相同(有关详细信息,请参阅FAQ)。其次,你应该解释为什么有人应该尝试一下。显示它如何解决问题中的问题的示例代码可以做到这一点。【参考方案2】:如果有人仍在寻找解决方案,这里有一个指向正确答案的链接:UIImageView in UITableViewCell changes size on touchDown
因为你把它命名为imageView,把它命名为image_View之类的,问题就解决了!
【讨论】:
以上是关于UITableView 单元格中的 imageView 在 touchdown 事件中违反 setClipsToBounds的主要内容,如果未能解决你的问题,请参考以下文章
UITableView 单元格中的 UITextField 以编程方式成为FirstResponder