如何获取UITextView中正在输入的那一行的位置?

clipboard.png

如上图一个TextView铺满视图,当点击视图一半以下的位置时,光标将被软键盘挡住看不到输入,如何通过获取光标所在位置调整视图向上移动使光标正好处于软键盘上?(如下图)

clipboard.png

阅读 6.7k
3 个回答

刚好碰到过 当时很愁啊 后来找到了几个函数 可以定位当前输入光标的位置

CGPoint cursorPosition = [textView caretRectForPosition:textView.selectedTextRange.end].origin;
CGPoint point = [textView convertPoint:cursorPosition toView:self.window];
新手上路,请多包涵

为什么不在弹出键盘的时候将TextView的frame改小一点?这样按照行数判断的话,如果不是最后几行还能自动滚动,如果是最后几行,还得考虑要不要补空行再滚动,否则连滚动的空间都没有。

第一次用安卓客户端,刚才写到评论里面去了...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题