使用 UITextView 自动调整 UITableViewCell 的大小,其中文本同时与垂直中心对齐?
Autoresizing UITableViewCell with UITextView which has text aligned to vertical center simultaneously?
单元格包含多行文本,所以我决定使用文本视图。
textView.textContainerInset = UIEdgeInsets.zero
删除额外的填充。垂直居中的代码:
extension UITextView {
func centerVertically() {
var topCorrect = (self.bounds.size.height - self.contentSize.height * self.zoomScale) / 2
topCorrect = topCorrect < 0.0 ? 0.0 : topCorrect;
self.contentInset.top = topCorrect
}
}
如果我在 tableView(_:, heightForRowAt:)
中预定义单元格高度,这将起作用。
但是如果我使用 UITableView.automaticDimension
调整单元格的大小,一切都会被破坏。
如何解决这个问题?
- 使用自动布局并将文本视图的前导、尾随、顶部和底部约束固定到单元格。
- 在文本视图中禁用滚动
- 为 textview 添加一个高度约束,使高度大于或等于一个常量值(这是将显示在屏幕上的最小值)
- 用户.自动维度
试试这个,让我知道这是否适合你
单元格包含多行文本,所以我决定使用文本视图。
textView.textContainerInset = UIEdgeInsets.zero
删除额外的填充。垂直居中的代码:
extension UITextView {
func centerVertically() {
var topCorrect = (self.bounds.size.height - self.contentSize.height * self.zoomScale) / 2
topCorrect = topCorrect < 0.0 ? 0.0 : topCorrect;
self.contentInset.top = topCorrect
}
}
如果我在 tableView(_:, heightForRowAt:)
中预定义单元格高度,这将起作用。
但是如果我使用 UITableView.automaticDimension
调整单元格的大小,一切都会被破坏。
如何解决这个问题?
- 使用自动布局并将文本视图的前导、尾随、顶部和底部约束固定到单元格。
- 在文本视图中禁用滚动
- 为 textview 添加一个高度约束,使高度大于或等于一个常量值(这是将显示在屏幕上的最小值)
- 用户.自动维度
试试这个,让我知道这是否适合你