ios - 如何制作一个 self 调整大小的基本 UITableViewCell?

标签 ios swift uitableview autolayout

我知道如何制作自定义的自动调整大小的单元格。但出于某种原因,我在尝试制作默认的多行时面临挑战。

我目前想要的是一个只有一个标签的单元格。因此,具有内置样式“Basic”的默认样式似乎是解决如此简单问题的最佳解决方案。但是它只显示 2 行文本。

我当前的设置:一个静态 UITableView 和一个 UITableViewController 包含一些需要配置的单元格的导出。

我尝试过的事情:

  • 设置行数为0
  • 将表格 View 的行高设置为 UITableViewAutomaticDimension
  • 覆盖 heightForRowAtIndexPath 以便它始终返回 UITableViewAutomaticDimension
  • 在单元格和/或内容 View 和/或文本标签上调用sizeToFitsetNeedsLayoutlayoutIfNeeded
  • 在 Storyboard中将自定义单元格高度设置为 0
  • 增加标签的垂直和水平内容拥抱优先级

编辑:

我想我并不清楚到底是什么问题。我没有使用自定义单元格。我正在尝试摆脱基本的。

cell

这意味着您不能为其标签添加任何约束。当然,您可以通过编程方式进行,但由于一切都是针对 Apple 的内置样式在内部进行管理的,因此可能会导致冲突。

其他详细信息:

此时(正如我上面提到的)我有一个 UITableViewController,带有特定单元格的导出:@IBOutlet weak var descriptionCell: UITableViewCell!

override func viewDidLoad() {
  super.viewDidLoad()
  tableView.rowHeight = UITableViewAutomaticDimension
}

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
  return UITableViewAutomaticDimension
}

真的可以吗?由于我已经花了太多时间试图避免制作自定义单元格,所以我最终会制作它。无论如何,欢迎任何解决方案。

最佳答案

下面两个不需要做。

  • 在单元格和/或内容 View 和/或文本标签上调用 sizeToFit、setNeedsLayout、layoutIfNeeded
  • 在 Storyboard中将自定义单元格高度设置为 0

并且您应该检查标签的约束。例如,它在运行时应该有固定的宽度,并且对单元格的顶部和底部有限制。所以细胞会自行生长。

关于ios - 如何制作一个 self 调整大小的基本 UITableViewCell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38964692/

相关文章:

ios - 如何滑动以编辑 tableView 中的文本?

ios - 从 UITableView(不是 UITableViewController)转到 UIViewController

ios - 从模式中选择数据后如何在 UITableViewCell 中刷新 UITextField

iphone - 如何检查 zip 文件是否在 IOS 中受密码保护?

ios - 即使双击按钮,VoiceOver 也会读取标签

ios - 知道 skspritenode 已经完全移动到另一个 skspritenode 上

ios - 如何让TableView单元格中显示文件名

ios - 我可以找出应用程序图标在主屏幕上的位置吗?

ios - 如何从 iOS 私有(private) api 二进制文件中获取 header 和函数?如何对应用程序进行逆向工程?

ios - 为什么 sender.tag 总是零?