覆盖setContentOffset

Omi*_*emi 1 overriding uiscrollview ios

子类化时是否可以重写UIScrollView的setContentOffset方法?这个AppStore是否保存?

样品:

-(void)setContentOffset:(CGPoint)contentOffset {
    [super setContentOffset:contentOffset];
    NSLog(@"co: %@",NSStringFromCGPoint(contentOffset));

    if(_willScroll)
        [_svDelegate setContentOffset:CGPointMake(contentOffset.x, contentOffset.y *2)];
}
Run Code Online (Sandbox Code Playgroud)

谢谢,

奥米德

Mic*_*ann 5

是。许多iPhone程序员都继承了子类UIScrollView,然后替换或扩展了诸如public API之类的功能setContentOffset

我为您做的唯一更正是使用正确的API。不是:

setContentOffset:

而是

setContentOffset: animated:

(即带有animated参数-在那里链接了Apple的文档)。

  • 确切地说,“ setContentOffset:”(设置“ contentOffset”属性)调用“ setContentOffset:animated:”,第二个参数设置为“ NO”。这就是为什么您需要覆盖后者。 (3认同)