UITextView 高度未在 UITableViewCell 中调整大小
UITextView height not resizing in UITableViewCell
以下是对 UITextView
的约束:
其他子视图的约束:
UILabel :
用户界面视图:
滚动已禁用:
viewDidLoad :
self.tableLeadsOverview.estimatedRowHeight = 100
self.tableLeadsOverview.rowHeight = UITableViewAutomaticDimension
内容:
1527 Clover Ridge Dr Burlington VA USA 90210
输出:
在这种情况下自动调整大小将不起作用,因为 UITextView
包含用于显示其包含的滚动视图和具有 contentSize
和 frame
的滚动视图,因此如果其 content/text 增加它会增加其 contentSize
而不是框架,因此单元格大小不会自动增加。请按照以下步骤解决此问题。
- 在现有约束条件下,为
UITextView
并将其引出至 class. 单元格
- 将UITextView的引用outlet取到单元格class也
- 现在进入
CellForRowAtIndexPath
的数据源方法
UITableView
此处首先将 text/content 设置为
UITextView
然后设置 UITextView's
高度限制
as UITextView's
contentSize.height
使用高度限制
你在上面拿的出口。
如有任何疑问,请告诉我。
我曾研究过与您类似的细胞。
我的解决方案是创建一个高度灵活的标签来显示文本字段的内容。 label 具有与 textField 一样的所有约束,除了高度约束,numberOfLines
设置为 0
以便它可以帮助您调整 rowHeight
的大小。不编辑时,隐藏 textField。当用户选择行(开始编辑)时,隐藏标签,显示文本字段,然后调用 [textField becomeFirstResponder]
.
有点棘手。 :]
问题出在 UILabel 的底部约束上。尝试将其删除,因为您为标签提供了高度限制,因此它将始终保留在左上角,或者如果您想将标签保留在单元格的中心。
尝试并分享结果。
以下是对 UITextView
的约束:
其他子视图的约束:
UILabel :
用户界面视图:
滚动已禁用:
viewDidLoad :
self.tableLeadsOverview.estimatedRowHeight = 100
self.tableLeadsOverview.rowHeight = UITableViewAutomaticDimension
内容:
1527 Clover Ridge Dr Burlington VA USA 90210
输出:
在这种情况下自动调整大小将不起作用,因为 UITextView
包含用于显示其包含的滚动视图和具有 contentSize
和 frame
的滚动视图,因此如果其 content/text 增加它会增加其 contentSize
而不是框架,因此单元格大小不会自动增加。请按照以下步骤解决此问题。
- 在现有约束条件下,为
UITextView
并将其引出至 class. 单元格
- 将UITextView的引用outlet取到单元格class也
- 现在进入
CellForRowAtIndexPath
的数据源方法UITableView
此处首先将 text/content 设置为UITextView
然后设置UITextView's
高度限制 asUITextView's
contentSize.height
使用高度限制 你在上面拿的出口。
如有任何疑问,请告诉我。
我曾研究过与您类似的细胞。
我的解决方案是创建一个高度灵活的标签来显示文本字段的内容。 label 具有与 textField 一样的所有约束,除了高度约束,numberOfLines
设置为 0
以便它可以帮助您调整 rowHeight
的大小。不编辑时,隐藏 textField。当用户选择行(开始编辑)时,隐藏标签,显示文本字段,然后调用 [textField becomeFirstResponder]
.
有点棘手。 :]
问题出在 UILabel 的底部约束上。尝试将其删除,因为您为标签提供了高度限制,因此它将始终保留在左上角,或者如果您想将标签保留在单元格的中心。
尝试并分享结果。