4

PageControlでUIPageViewControllerを使用して、PageViewControllerに3つの画像を表示しています。すべてが完璧に機能します。しかし、特定の時間が経過すると、ページが次のページに自動的にスワイプ(スクロール)する可能性はありますか?

4

2 に答える 2

0

これは以下の方法で可能です

- (void)setViewControllers:(NSArray *)viewControllers direction:(UIPageViewControllerNavigationDirection)direction animated:(BOOL)animated completion:(void (^)(BOOL finished))completion;

例:

[pageVCObj setViewControllers:arrayOfViewControllers direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:nil];
于 2013-03-25T09:44:05.160 に答える
0

NSTimerを使用して、特定の時間の後にスクロールします。次のコードがお役に立てば幸いです。

[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(move_pagination) userInfo:nil repeats:YES];

その後、次のような「move_pagination」メソッドを定義します

- (void)scrollingTimer {

UIScrollView *scrMain = (UIScrollView*) [self.view viewWithTag:1];

UIPageControl *pgCtr = (UIPageControl*) [self.view viewWithTag:12];

CGFloat contentOffset = scrMain.contentOffset.x;
// calculate next page to display
int nextPage = (int)(contentOffset/scrMain.frame.size.width) + 1 ;
// if page is not 10, display it
if( nextPage!=10 )  {
    [scrMain scrollRectToVisible:CGRectMake(nextPage*scrMain.frame.size.width, 0, scrMain.frame.size.width, scrMain.frame.size.height) animated:YES];
    pgCtr.currentPage=nextPage;
// else start sliding form 1 :)
} else {
    [scrMain scrollRectToVisible:CGRectMake(0, 0, scrMain.frame.size.width, scrMain.frame.size.height) animated:YES];
    pgCtr.currentPage=0;
}

}

于 2013-03-25T09:55:56.783 に答える