ios - 添加文本和禁用滚动时如何使 UITextView 字段扩展?
问题描述
我在 tableView 单元格中使用 UITextView 来保存禁用滚动的不同大小的文本内容。
为了自动调整 UITextView 的大小,我使用了自动布局将其固定到布局,还添加了此方法来调整高度:
override func viewWillAppear(_ animated: Bool) {
tableView.estimatedRowHeight = 50
tableView.rowHeight = UITableViewAutomaticDimension
}
这在初始视图上正常工作 - 当内容首次加载时。但是,我还希望用户能够在点击内容时编辑文本(类似于 Apple 提醒应用程序)。这在一个限制下可以正常工作: UITextView 不会随着内容的增长而扩展。
如何使 UITextView 在编辑期间扩展而不滚动?
新细节:这是当前设置的屏幕截图。
根据以下 Matt 的建议,我创建了以下子类。
class MyTextView: UITextView {
@IBOutlet var heightConstraint : NSLayoutConstraint?
override func awakeFromNib() {
super.awakeFromNib()
self.heightConstraint?.isActive = false
}
}
我不得不修改强制展开以避免致命错误。
解决方案
如何使 UITextView 在编辑期间扩展而不滚动
自定大小的文本视图非常简单;对于没有高度限制的非滚动文本视图,它是默认值。在此示例中,我添加了一些代码来删除现有的高度约束,尽管您可以在情节提要中通过指示高度约束是一个占位符来执行此操作:
class MyTextView : UITextView {
@IBOutlet var heightConstraint : NSLayoutConstraint!
override func awakeFromNib() {
super.awakeFromNib()
self.heightConstraint.isActive = false
}
}
结果截图:
如果您随后对表格视图进行批量更新,并假设单元格的其他内部约束是正确的,那么单元格也将被重新测量(但我没有在示例中演示这一点)。
推荐阅读
- json - 如何在 Oracle 中返回 JSON 更新文档?
- r - 使用 dplyr 将函数应用于每个组并返回指定的数据帧
- scikit-learn - 如何指定对训练数据的置信度?
- ios - UNNotificationRequest 每天在特定时间发送本地通知
- python - Python在与脚本相同的目录中找不到PDF文件
- directx-11 - 如何简单地渲染 ID3D11Texture2D
- c# - Apple Pay 与 WorldPay 集成 - 提取有效负载
- javascript - Dreamweaver 图像模式 - 脚本在 HTML 中工作,但不能作为外部文件
- reactjs - 分解到tomcat服务器后如何访问已部署的BrowserRouter使用的react项目
- javascript - 如何在我的 javascript 游戏中添加计数器?