当前位置: 代码迷 >> 综合 >> swift textView出现越界的exception
  详细解决方案

swift textView出现越界的exception

热度:20   发布时间:2023-11-02 07:46:20.0

在使用textView这个控件时候需要有时候会出现越界的提示如下:

requesting caretRectForPosition: while the NSTextStorage has oustanding changes{520,4}

对于这个报错我发现自己的code对字数的限制并没有问题,而且断点无法跟到具体的越界位置,代理方法都走完了之后才出现问题,并且把所有的代理方法都给注释掉了以后发现还是有这个exception,这就说明和textView的这个控件的代理当法没有关系,于是乎想到应该是在code的其他的地方做了一些的设置使的出现了越界,因为一般出现越界的情况都是某个变量的越界,只要找到这个变量就能解决问题。

于是我就找了code中所有与textView这个控件相关的code。最终找到了原因所在,这个问题是出现在我回收键盘的时候,使用的方法不当所致

我所使用的是以下这个函数(错误的方法):

func scrollViewDidScroll(scrollView: UIScrollView) {
    textView.resignFirstResponder()
}


使用以下这个方法回收键盘就不会出现越界的问题(正确的方法):

func scrollViewWillBeginDragging(scrollView: UIScrollView) {textView.resignFirstResponder()
}


  相关解决方案