iOS >> UITableViewCell ImageView 属性 >> ContentMode 没有任何作用

Posted

技术标签:

【中文标题】iOS >> UITableViewCell ImageView 属性 >> ContentMode 没有任何作用【英文标题】:iOS >> UITableViewCell ImageView Property >> ContentMode doesn't have any effect 【发布时间】:2014-01-02 09:39:04 【问题描述】:

在许多情况下,使用 4 种 UITableViewCell 'of the Shelf' 样式中的一种就足以满足我的需要,除了一个“小”烦人的事情:cell.imageView.contentMode 属性始终设置为 Scale to Fill。如果图像具有不同的比例,则会导致每行以不同的 x 推送单元格标签。看起来很丑……

如果我尝试在代码中修复它,比如在 cellForRowAtIndexPath 方法中,通过寻址属性并将其分配给 Aspect Fit,我不会收到任何警告或错误,但它什么也不做 - 即它仍然使用 Scale to Fill .

这意味着,如果我有一个应用程序,我不负责表格视图中显示的所有图像,因此无法将它们切割成相同大小 - 例如,如果我希望允许用户选择图像从库或下载等... - 我必须使用自定义单元格,即使它所拥有的只是一个图像和一个标签。

有谁知道如何使用默认样式解决这个问题,而不是继承 UITableViewCell?

【问题讨论】:

【参考方案1】:

在这个SO thread you have a couple of solutions for that.

但是,您会发现这些解决方案只是创建自定义单元格的另一种方式。或者您需要在运行时创建一个 ImageView,或者您只需创建一个自定义单元格。据我所知,这是正确的做法。我知道这很烦人,但是你做一个自定义单元格的时间比找到解决这个问题的黑客方法要短得多。不要与框架作斗争:)。

【讨论】:

我很长一段时间都在“不与框架作斗争”,因此创建自定义单元格,即使没有充分的理由这样做,只是为了这个问题......但这似乎很简单。我的意思是,可以修改任何其他单元格 UI 对象属性,如标签文本颜色等......唯一不起作用的是图像视图内容模式............跨度> 我实际上在 Apple Developer Center 中发布了一个请求......我想我不是第一个,但我对自己说“为什么不......”让我们看看他们怎么说...... . 也许如果每个人都向他们发布它可能会产生一些影响....... 我知道这种感觉,并且我已经尝试自己找到答案。但我将这个问题视为强制实施的一种方式。 Apple 为您提供了一个模板,但如果您想要该模板的变体或者您想要一个新模板,只需编写您自己的类即可。更改 cellForRow 中的可视表单(或模板)似乎不是正确的方法。

以上是关于iOS >> UITableViewCell ImageView 属性 >> ContentMode 没有任何作用的主要内容,如果未能解决你的问题,请参考以下文章

实现 iOS 音乐应用的 UITabBarController 与选项卡之间的同步导航项

UITableVIewCell 错误 Xcode 7 / Swift 2

如何在 Swift 中隐藏/删除空表视图行?

Swift - 使用 UITableViewController 创建子菜单

将 UIView 显示为弧线

当 UISearchController 处于活动状态并选择新选项卡时,UITableView 消失