在 iOS 7 上成为第一响应者后,UITextView 不会滚动到插入符号
Posted
技术标签:
【中文标题】在 iOS 7 上成为第一响应者后,UITextView 不会滚动到插入符号【英文标题】:UITextView doesn't scroll to caret after becoming first responder on iOS 7 【发布时间】:2013-09-20 09:34:51 【问题描述】:我有UITableViewCell
,在这个单元格中我有UITextView
和一些文字。当我在ios 6
上调用becomeFirstResponder
时,它会按预期工作,并且表格视图会滚动到插入符号,但这在iOS 7
上不起作用。
我在单元格中也有UITextFields
,它与iOS 7
上的becomeFirstResponder
配合得很好。只是UITextView
是个问题。
这是一个错误还是他们改变了什么?
【问题讨论】:
【参考方案1】:我想出了我的解决方案,它使用来自UITableView
的方法(void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
和来自UITextInput
的方法(CGRect)caretRectForPosition:(UITextPosition *)position
,并在对高度进行了一些数学运算之后。我已经实现了与在 iOS 6 上相同的行为。它不是很好,但它可以工作。
如果有人提出更好的解决方案,请告诉我。
【讨论】:
以上是关于在 iOS 7 上成为第一响应者后,UITextView 不会滚动到插入符号的主要内容,如果未能解决你的问题,请参考以下文章
当父 UIViewController 设置为 RootViewController 时,UIView 不会成为第一响应者
iOS——是不是可以强制 UILabel 子类对象成为第一响应者?