作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个包含 UITextView 的自定义 UITableViewCell。细胞相当大。如何自动滚动表格以确保当前选择点始终可见?
请注意 UITextView 是单元格的大小,因此它不会自动滚动。
我可以在 selectedTextRange 上调用 firstRectForRange,但如果插入点位于末尾,这将不起作用(对于 CGRect,您会得到 inf,inf,0,0)。如果我有 rect,我可以计算表中的偏移量并调整其滚动 contentOffset。有没有好的方法可以做到这一点,或者唯一的方法就是弄乱 contentOffset?
最佳答案
在 textviewdidchange 中使用它
if let confirmedTextViewCursorPosition = textView.selectedTextRange?.end {
let caretPosition = textView.caretRect(for: confirmedTextViewCursorPosition)
var textViewActualPosition = tableView.convert(caretPosition, from: textView.superview?.superview)
textViewActualPosition.origin.y += 20.0 // give the actual padding of textview inside the cell
tableView.scrollRectToVisible(textViewActualPosition, animated: false)
}
关于ios - UITableViewCell 中的 UITextView 如何滚动表格 View 以在键入时保持光标可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34641692/
我是一名优秀的程序员,十分优秀!