目标c。 UIScrollView:每次用户滚动时如何强制重绘可见部分?

时间:2011-04-02 18:10:19

标签: iphone objective-c uiscrollview

我在scrollview中有自己动态更改的视图。

由于我的观点非常大,我通常只重绘它的可见部分。

但是当我向上或向下滚动时,没有调用drawRect方法。

我想滚动视图有一个缓冲区可以快速响应用户操作,但我不知道它是如何工作的确切机制。


UPD

感谢Wienke,我有一个解决方案:实现UIScrollViewDelegate。

我已经实现了scrollViewDidScroll方法:

-(void) scrollViewDidScroll:(UIScrollView *)sender {
    CGRect visibleRect;
    visibleRect.origin = [scrollView contentOffset];
    visibleRect.size = [scrollView bounds].size;
    [textField setNeedsDisplayInRect:visibleRect];
}

因此,每当用户滚动一点时,此方法就会重新绘制整个可见部分。那很糟糕=(

我怎样才能重绘...让我称之为“滚动后出现的新区域”。我想它会快得多......

感谢您的关注。

1 个答案:

答案 0 :(得分:1)

您是否尝试过分配scrollview委托? UIScrollViewDelegate协议包含scrollViewDidEndDragging等方法,您可以在其上重绘。