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 コメント:
コメントを投稿