やや複雑ですが、以下のコードで実現できます。
ステップ 1: 以下のコードを rootViewController の .h ファイルに追加します。
@property (strong, nonatomic) IBOutlet UIButton *previousClick;
@property (strong, nonatomic) IBOutlet UIButton *nextClick;
ステップ 2: 使用する xib またはストーリーボードにそれらを接続します。
ステップ 3: 2 つの IBAction メソッドを .m ファイルに追加します。
#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];