TextField 高度不会自动更新

Posted

技术标签:

【中文标题】TextField 高度不会自动更新【英文标题】:TextField height not automatically updated 【发布时间】:2016-01-22 17:04:54 【问题描述】:

我做了一个TableView,我在里面设置

self.tableView.estimatedRowHeight = 120.0;
self.tableView.rowHeight = UITableViewAutomaticDimension;

在一个单元格中,我放置一个视图,在其中拖动一个标签,对于该标签,我将约束设置为顶部和底部等于视图顶部和底部。我将标签的字体增加到 150。表格视图单元格很好地缩放。

在第二个单元格中,我放置一个视图,在其中拖动一个文本字段,对于该文本字段,我将约束设置为顶部和底部等于视图顶部和底部。我将文本字段的字体增加到 150。表格视图单元格不能很好地缩放,但保持与我估计的行高一样小。

这怎么可能?我应该为文本字段额外设置哪些属性?

我使用 ios 9.0 作为部署目标。下面是约束的屏幕截图和模拟器当前外观的屏幕截图。

【问题讨论】:

您是否尝试过改用tableView:heightForRowAtIndexPath: 并计算您需要的内容? 我没有,但自动布局的重点不就是我不应该在代码中进行这些计算吗?还是我误解了如何使用该方法? 我从不使用自动布局,所以我不确定。你可能是对的。 试试这个教程mkswap.net/m/ios/2015/07/08/… 使用 UITextField 显示单元格的约束 【参考方案1】:

Tableview 确实与textfield 一起增长。你可能没有设置正确的font family

cellForRowAtIndexPath

[cell.yourTextField setFont:[UIFont fontWithName:@"HelveticaNeue" size:120]];

单元格高度增加:

试试这个,让我知道它是否有效。我玩了很多次。

希望这能有所帮助。

【讨论】:

以上是关于TextField 高度不会自动更新的主要内容,如果未能解决你的问题,请参考以下文章

自定义 tableviewcell 动态高度未根据约束更新(以编程方式自动布局)

如何以编程方式更新视图的高度?

如何更新 UITableViewCell 约束常量并更新单元格高度

(Flutter) 如何在不按“完成”的情况下自动监听 TextField 中的变化?

DataSource 更改时,ComboBox 不会自动更新?

Flutter中如何同步两个TextField