这有点复杂,但可以通过下面的代码来实现:
第 1 步:将以下代码添加到 rootViewController 的 .h 文件中。
@property (strong, nonatomic) IBOutlet UIButton *previousClick;
@property (strong, nonatomic) IBOutlet UIButton *nextClick;
第 2 步:将它们连接到您使用的 xib 或故事板。
第 3 步:在 .m 文件中添加两个 IBAction 方法。
#pragma mark - IBAction Methods
- (IBAction)previousClick:(id)sender
{
[_modelController pageViewController:self.pageViewController viewControllerBeforeViewController:_dataViewController];
}
- (IBAction)nextClick:(id)sender
{
[_modelController pageViewController:self.pageViewController viewControllerAfterViewController:_dataViewController];
}
第 4 步:您还需要将以下行也放入 .m 文件
@interface RootViewController ()
@property (readonly, strong, nonatomic) ModelController *modelController;
@property (readonly, strong, nonatomic) DataViewController *dataViewController;
@end
并将它们合成如下
@synthesize modelController = _modelController;
@synthesize dataViewController = _dataViewController;
第 5 步:最后和最后在方法中添加以下行- (UIPageViewControllerSpineLocation)pageViewController:(UIPageViewController *)pageViewController spineLocationForInterfaceOrientation:(UIInterfaceOrientation)orientation
。
_dataViewController = currentViewController;
在 currentViewController 的 alloc init 调用之后。
如果您发现添加的按钮被 pageViewController 隐藏了,只需使用下面-viewDidLoad
方法中的代码将它们带到前面
[self.view bringSubviewToFront:self.previousClick];
[self.view bringSubviewToFront:self.nextClick];