(iOS7) 在UITableView和UIScrollView中滚动到UITextView的光标位置

5
自从我升级到iOS7后,我遇到了一个问题。
我有一个基于UIScrollView的水平滚动视图,并在其上放置了UITableView(看起来像导航样式)。并且我在UITableView上添加了UITextView而不是单元格。
当键入键盘时,它将滚动到UITextView的光标位置。在iOS6之前,这个功能非常好用,但自从升级到iOS7以后就不行了。
请问我该如何解决这个问题?
谢谢。

4
你能添加一些屏幕截图吗? - Bishal Ghimire
感谢您的评论。我有三个UITableView,并且它们位于水平滚动的UIScrollView上。 每个UITableView上都有UITextView。就是这样。 - Bright Lee
一张图片胜过千言万语 :) 同时请添加一些代码,这样我们就可以知道问题可能出在哪里! - Bishal Ghimire
我在这个问题上设置了赏金,因为我遇到了类似的问题,即当用户在UITableViewCell中的自动调整大小的UITextView中输入时,tableview不会滚动以显示光标(嗯,对我来说听起来很相关!) - Ben Clayton
1
你能加入一些代码或截图吗? - Ravindhiran
2个回答

6

处理UITextViewDelegate中的 textViewDidChangeSelection:

- (void)textViewDidChangeSelection:(UITextView *)textView {
    [textView scrollRangeToVisible:textView.selectedRange];
}

具体的解决方案取决于您的应用程序,您可以通过子类化UITextView来处理,但我更喜欢在UITextViewDelegate协议上使用装饰器模式。

希望这可以帮到您。


0

您是否在xCode4中创建了XIB文件,现在尝试在xCode5中打开它?如果是,请仔细检查您的XIB文件,因为Xcode5会更新旧的xCode 4.x XIB文件,有时会导致不可预测的输出。当我在Xcode5中打开所有视图后,遇到了相同的问题,所有视图都消失了。

此外,请尝试更改文件检查器中XIB文件的设置,以在xcode 4.x中打开并查看iOS6.1及更早版本,看看是否有所改变。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接