0

すでに画像を含むスクロールビューがあり、IBのページングをオンに設定しているため、pageControlを使用しませんでした。それはすべて機能し、画像間を移動できますが、自動的にスクロールさせるにはどうすればよいですか?App Storeの特集ページにあるものが好きですか?

私は2つのNSTimerを使用することを考えていました。1つはたとえば0.3秒で320ポイントをスクロールし、もう1つは4秒をカウントして最初のNSTimerを起動します。どうすればいいですか?ありがとう!

4

1 に答える 1

3

代わりにNSTimerあなたを使用することができます[self performSelector: withObject: afterDelay:]

- (void) viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    // start repeatable method
    [self performSelector:@selector(makeTick) withObject:nil afterDelay:4.0f];
}

- (void) makeTick {

    [self performSelector:@selector(makeTick) withObject:nil afterDelay:0.3f];

    // Calclulate new offset
    CGPoint pt = self.scrollView.contentOffset;
    pt.x += self.scrollView.frame.size.width;
    // If it's a last subview in scrollview return back
    if (!(pt.x < self.scrollView.contentSize.width)) {
        pt.x = 0;
    }
    [self.scrollView setContentOffset:pt animated:YES];
}

しかし!これは、「アニメーション化」してスクロールさせる方法の簡単な例です。AppStoreのように「無限の」スクロール動作を実現したい場合は、別のソリューションを使用する必要があります。

このチュートリアルをチェックして、円形で不定詞のスクロールビューを作成します。

于 2013-01-17T15:13:59.567 に答える