2014/07/30

[iOS][Objective-C]UIPageViewControllerの現在値を取得する

UISegmentedControlなどを使ってUIPageViewControllerのページを切り替えたい場合があります。

そんな時、現在の位置を取得する必要性があるのですが、どうすればいいのだろうか?

syncing UIPageViewController with UISegmentedControl logic issue
を読むと下のようにすればおkみたいです。

//NSUInteger index;
- (void)pageViewController:(UIPageViewController *)pageViewController willTransitionToViewControllers:(NSArray *)pendingViewControllers{
    if([pendingViewControllers count] > 0)    {
        index =[(UIViewController*)[pendingViewControllers objectAtIndex:0] pageIndex];
    }
}

- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed{
    if(finished && completed && [previousViewControllers count] > 0){
        segmentedControl.selectedSegmentIndex = index;
    }
}
実際に試したところ、これでいけました!!

0 コメント:

コメントを投稿