在UIScrollView上以不同的速度滚动背景

R. *_*isk 4 iphone scroll background image uiscrollview

当有人做一个擦除手势从左到右滚动内容时,我想让背景图像滚动到同一方向,但速度不同.就像20年前这些经典游戏所做的那样(记住,任何人????)

fbr*_*eto 5

我通过使用两个 UIScrollView实例完成了这个.第一个是显示实际内容的位置,第二个(在z顺序中位于第一个后面)是我的移动速度较慢的背景.从那里顶部UIScrollView有一个附加到它的委托,当contentOffset更改时会收到通知.反过来,该委托以编程方式设置contentOffset背景滚动条,与常量相乘以减慢相对于前景的向下滚动.所以,例如,你可能有类似的东西:

// Defined as part of the delegate for the foreground UIScrollView
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    UIScrollView* scroll_view(static_cast<UIScrollView*>(bkg_scroller_m.view));
    CGPoint       offset(scrollView.contentOffset);

    offset.x = offset.x / 3;
    offset.y = offset.y / 3;

    // Scroll the background scroll view by some smaller offset
    scroll_view.contentOffset = offset;
}
Run Code Online (Sandbox Code Playgroud)