ios - UITableViewCell 大小与可选图像(Swift)

标签 ios swift uitableview interface-builder

我花了很长时间试图解决这个问题:

我有一个 UITableViewCell,其固定大小的 UIImage (250 x 250) 固定在单元格 View 的顶部,还有一个 UILabel 具有可变文本大小,其顶部固定在 UIImage 的底部,其底部固定在单元格的 View 的底部。

我有一个用例,其中图像并不总是得到保证,因此 ImageView 故意折叠到0高度,因此它不会打破 UILabel 顶部固定的自动布局。

我认为这将允许 UITableViewCell 缩小到标签的大小,但相反,它保持默认高度,自动布局会拉伸(stretch)标签的高度(以保持固定到顶部和底部),文本居中于中间。

我使用了所有常见的嫌疑人,UITAbleViewAutomaticDimensionestimatedRowHeight等等等等(你可能会首先建议的!)但没有任何效果。

我做错了什么?

我确实看到了一些关于将 IB 中的约束的优先级更改为250而不是1000的信息,这样它们就可能会被破坏。还有一些关于通过在 UILabel 上调用 requiredHeight() 来手动调整 UITableViewCell 大小(蹩脚且令人讨厌)的引用,这破坏了布局,所以呢我在这里做错了吗?谢谢!

最佳答案

I have a use case where an image is not always guaranteed

对于这种情况,您可以创建 2 种类型的 UITableViewCell:第一个带有 UIImageView ,第二个没有它。然后,在 cellForRowAtIndexPath 中初始化所需的单元格。

关于ios - UITableViewCell 大小与可选图像(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39103535/

相关文章:

ios - 如何从 jsonplaceholder API 解码和编码图像

ios - Google Analytics for iOS 1 次(每个用户)事件跟踪

iOS - 保存登录的用户信息

ios - 使用 Firebase 创建用户时,用户变量为 nil

ios - TableView 上的 EXC_BAD_ACCESS (SIGSEGV) :cellForRowAtIndexPath

ios - 可操作的通知不显示操作 Swift 4

ios - 推送 UIViewController 的自定义导航栏

ios - remoteControlReceived(带有事件 : UIEvent?)未触发

xcode - IOS:弹出位置

ios - UITableViewCell 分隔线在编辑期间出现