您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页2015-11-3--UITextView之这是何等的卧槽

2015-11-3--UITextView之这是何等的卧槽

来源:二三娱乐

最近在重构公司一个项目的发帖模块,发帖模块内容颇多,一些用户交互的细节处理起来也比较复杂,最坑爹的一个就是计算光标位置并设置其偏移量滚动至可视的固定范围。

这是整体的布局

点击文本框的时候,弹出键盘并让光标正好处于键盘上方。编辑文字的时候,也需要随时自适应高度。

在textView的代理方法中通过

[textViewcaretRectForPosition:textView.selectedTextRange.start].origin.y

这个方法就可以计算光标的位置,这个方法在

- (void)textViewDidChange:(UITextView*)textView

这个代理方法中,也就是编辑文字的时候,计算的坐标的正确地,但是,在键盘弹起的时候,这个代理方法还没开始执行,我一开始是在这个

- (BOOL)textViewShouldBeginEditing:(UITextView*)textView

还有这个

- (void)textViewDidBeginEditing:(UITextView*)textView

这两个方法中计算光标的位置,但是计算的结果始终是错误的,我也尝试了各种方法,都没有用。这里花了我两天的时间才解决,原来还有一个代理方法。

- (void)textViewDidChangeSelection:(UITextView*)textView

这个代理方法也是在键盘弹出的时候就会执行,而且计算的坐标也是正确,终于解决了让键盘弹起的时候光标滚到固定的位置。

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务