swift - UITextView:达到固定宽度时自动换行

标签 swift dynamic view width uitextview

我正在处理一个包含 UITextView 的 View 。估计内容的正确高度效果很好,但是当连续键入时,内容会水平超出边界。看起来像这样:

enter image description here

是否有任何方便的解决方案,可以在通过自动布局达到定义的最大宽度时自动换行?

最佳答案

我想出的解决方案是一个非常简单的方法:

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
    let size = textView.sizeThatFits(textView.frame.size)
    if size.width >= self.maxTextViewWidth {
        let subString = textView.text.suffix(1)
        textView.text.removeLast(1)
        textView.text.append(contentsOf: "\n" +  subString)
    }

    return true
}

关于swift - UITextView:达到固定宽度时自动换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47309588/

相关文章:

ios - 使用约束对齐

swift - 在嵌入了框架的项目中找不到的框架中创建的模块

Swift 4.2 响应 Selector 返回 false,如何判断属性是否存在?

performance - Levenstein 转置距离

Android - 方形表格布局

jsf-2 - 何时使用 f :view and f:subview

swift - 验证 Swift/XCTest 中方法调用的顺序

c - 如何制作动态字符?

javascript - 为什么我不能向我的 HTML 表格中动态添加行?

php - 流明框架 View 不工作