ios - 如果通过复制粘贴输入文本,UITextView 计算高度错误

标签 ios swift textview

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {

    let fixedWidth: CGFloat = textView.frame.size.width

    let newSize: CGSize = textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.greatestFiniteMagnitude))

    delegate.updateHeightTextView(height: newSize.height)

    return true
}

我在上面的函数中计算了 textview 的高度。 当我输入一些文本时效果很好,但当我复制和粘贴文本时,它就不正确了。

最佳答案

在您的情况下,只要 TextView 的文本发生变化,您就必须计算 TextView 的高度。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textDidChange) name:UITextViewTextDidChangeNotification object:nil];

- (void)textDidChange{
    //calculate the height here
}

UITextViewTextDidChangeNotification

关于ios - 如果通过复制粘贴输入文本,UITextView 计算高度错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50961149/

相关文章:

java - 如何使用 libGDX 编写 iOS 后端(游戏中心、IAP 等)?

iPhone:用户以类似于 HTML 选择的方式选择选项的最佳方式?

swift - 知道 Swift 函数是否存在错误

ios - 在 Swift 中实现 SWRevealViewController

swift - Sprite 怎么开始闪烁?

android - 检查字符串是否从我在 android 中的 View 中溢出?

ios - 如何在应用程序设置中全局访问?

ios - 委托(delegate)意外变更

android - 如何在android中的Sliding TabLayout中设置字符串上方的图标?

java - 如何获取listactivity中被点击的布局项?