swift textView出现越界的exception

29 篇文章 1 订阅
27 篇文章 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()
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值