如何防止 PageViewController 溢出?
How to prevent PageViewController to overflow?
我目前正在开发一个基于 Page View Controller
的 iOS
项目。一切正常,但是,我想防止用户超出页面限制。
例如,当 PageViewController
位于第一页时,如果用户试图通过将 Page View
拖动到在左侧,Root View Controller
会出现,直到拖动被释放,如下面的屏幕截图所示。
有什么办法可以在Page View Controller
的第一页和最后一页屏蔽这个手势吗?
使用PageviewController
委托方法
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
if (indexTest < NUM_OF_PAGES) {
switch (indexTest) {
case 0:{
NSLog(@"Page AFTER is Page: %@", [NSString stringWithFormat:@"%@",[viewControllers objectAtIndex:1] ] );
indexTest++;
return [viewControllers objectAtIndex:1];
break;
}
case 1:{
NSLog(@"Page AFTER is Page: %@", [NSString stringWithFormat:@"%@",[viewControllers objectAtIndex:2] ] );
indexTest++;
return [viewControllers objectAtIndex:2];
break;
}
case 2:{
NSLog(@"No pages AFTER this current page %d", indexTest);
break;
}
default:{
NSLog(@"PROBLEM in viewAFTER, indexTest = %d!!!!", indexTest);
break;
}
}
}
return nil;
}
做这样的事情,indexTest
是 int 变量,它会根据滑动增加页数。
NUM_OF_PAGES is the total pages available for page controlling.
我目前正在开发一个基于 Page View Controller
的 iOS
项目。一切正常,但是,我想防止用户超出页面限制。
例如,当 PageViewController
位于第一页时,如果用户试图通过将 Page View
拖动到在左侧,Root View Controller
会出现,直到拖动被释放,如下面的屏幕截图所示。
有什么办法可以在Page View Controller
的第一页和最后一页屏蔽这个手势吗?
使用PageviewController
委托方法
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
if (indexTest < NUM_OF_PAGES) {
switch (indexTest) {
case 0:{
NSLog(@"Page AFTER is Page: %@", [NSString stringWithFormat:@"%@",[viewControllers objectAtIndex:1] ] );
indexTest++;
return [viewControllers objectAtIndex:1];
break;
}
case 1:{
NSLog(@"Page AFTER is Page: %@", [NSString stringWithFormat:@"%@",[viewControllers objectAtIndex:2] ] );
indexTest++;
return [viewControllers objectAtIndex:2];
break;
}
case 2:{
NSLog(@"No pages AFTER this current page %d", indexTest);
break;
}
default:{
NSLog(@"PROBLEM in viewAFTER, indexTest = %d!!!!", indexTest);
break;
}
}
}
return nil;
}
做这样的事情,indexTest
是 int 变量,它会根据滑动增加页数。
NUM_OF_PAGES is the total pages available for page controlling.