ios - 具有方面拟合图像和自动布局的 UITableViewCell
问题描述
我知道这已经被问了 200 次,但我就是不明白。因此,目标尽可能简单。一个带有图像和下面 2 个标签的表格单元,图像具有不同的纵横比。我实际上让它工作了,但我只是不明白为什么应该非常普遍的东西,是那么困难/hacky。我设置了我的表格单元自动布局。连接所有边缘,将图像设置为宽高比,在我的 tableview 上设置预期的高度,不要设置任何高度约束。
我认为问题出在哪里,tablecell 使用其子视图的固有内容大小来计算其高度?出于某种原因,“方面拟合”图像的固有高度是原始图像的高度吗?所以如果你有二次图像,一个是 200x200,一个是 1000x1000,它们实际上缩放到相同的大小,只有一个有 5 倍的无用空白顶部/底部。为什么这是调整图像视图大小的选项的默认行为?
对于非异步加载的图像,有一些对我有用的解决方案,其中包括根据纵横比设置宽度/高度约束。我仍然可以通过提前获取 5 张图像来做到这一点,然后将它们设置在我的模型对象中,然后通过添加类或表格单元来执行刷新约束。
我想我的问题是,有没有简单/直观的解决方案?我至少在某种程度上掌握了导致这个问题的原因吗?
解决方案
推荐阅读
- php - php sha256 今天(2019 年 5 月)安全吗?
- c# - C# WPF DataGrid 虚拟化很慢
- python - 如何使用带有公钥文件的 Paramiko 访问远程服务器
- php - 使用 laravel 5 插入表单数据时发布 500(内部服务器错误)
- ruby-on-rails - 如何在mailboxer_notifications 表中设置user_type?
- authentication - Keycloak Java Servlet 适配器示例或代码块
- python - 我如何评估 StratifiedKFold 模型
- php - 如何将基本站点 URL id 访问到 ajax 并使用 Codeigniter 传递给控制器?
- reactjs - 有人可以解释这段代码发生了什么吗?函数名后面的<>是什么?
- spring-boot - 使用 oauth2 提供身份验证时从 swagger 响应中获取 401 错误状态