我在控制在我使用的UITextView
内的滚动问题,所以我选择创建自己的子类。UITextView子类化时实现UIScrollView方法
我有一个关于为某些UIScrollView
超类方法提供实现的非常基本的问题。
这里是我的骨架代码为UITextView
子类:
@interface PastedTextView : UITextView
@end
@implementation PastedTextView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
}
return self;
}
- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated
{
NSLog(@"scrollRectToVisible");
}
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
{
NSLog(@"setContentOffset");
}
- (void)zoomToRect:(CGRect)rect animated:(BOOL)animated
{
NSLog(@"zoomToRect");
}
@end
当将这些UIScrollView
方法叫什么名字?只有从我自己的客户端代码?或者他们会被框架调用?
更新:
的原因,我问这个是因为我有以下问题:我编程方式添加文本到UITextView
(从剪贴板)。当我这样做时,如果textview已滚动,以至于内容的顶部不再处于视图中,则在添加新文本后,文本视图会滚动回顶端。
我没有明确地触发这个滚动,所以它发生在框架内。
我还没有发现任何描述此行为的Apple文档。所以,我一直在试图找到滚动的来源,以便我可以避免它...
当这个滚动发生时,上述方法都不会被调用。顺便提一下,UITextView
s scrollRangeToVisible
方法(我已经尝试将该方法添加到子类实现)。我不明白为什么隐式滚动回到顶部正在发生,我想要防止它...
所以我遇到的问题:我正在编程向UITextView(从粘贴板)添加文本。当我这样做时,如果textview已滚动以使内容的顶部不再显示,则文本视图在追加新文本后滚动回顶部。发生这种情况时,上述方法都不会被调用。顺便提一下,UITextView的'scrollRangeToVisible'方法(如果我将它添加到子类实现中)都不是。我无法弄清楚为什么隐含的滚动回到顶端正在发生...... –