【发布时间】:2014-06-12 06:38:46
【问题描述】:
我的用户正在阅读 UITextView 中的只读文本。当他们完成阅读选择并滚动到底部时,我希望能够显示一个从底部向上动画的已完成阅读按钮。如何检测用户何时滚动到文本末尾?
【问题讨论】:
-
UITextView扩展UIScrollView。利用滚动视图代表知道它何时滚动到底部。 -
对不起,-scrollViewDidEndDecelerating 确实比 -scrollViewDidScroll 工作得更好,但是如果用户向上滚动它也会触发,所以我需要一种方法来辨别可见的文本是否实际上是文本的最后一部分.我尝试使用不可见的 end_marker_string,但它正在搜索所有文本,而不仅仅是可见的文本。
-
@ujell - 是的。我没有看到这个问题,但我尝试过这种方法。我不确定他们为什么说它对他们有用。当我使用它时,每次都会打印 NSLog 语句,因此这种查看您是否处于底部的方法不起作用。我又试了一次以确保。谢谢。
-
我在 -scrollViewDidEndDescelerating 中使用此代码。我有一个附加一个由 -viewDidLoad NSString * strVisibleText = [self visibleTextInTextView:self.textView] 调用的 ENDMARKERSTRING 的方法; if ([strVisibleText rangeOfString:END_MARKER_STRING].location == NSNotFound) { NSLog(@"字符串不包含 END_MARKER_STRING"); } else { NSLog(@"字符串包含 END_MARKER_STRING"); }
标签: objective-c ios7 uitextview