1

ポップオーバーコントローラーのビュー内にさまざまなビューコントローラーのビューを表示しようとしています。私は今3時間試しましたが、成功しませんでした。基本的にこれは私がやったことです:

- (IBAction)buttonTapped:(id)sender {

    NSDictionary *options = [NSDictionary dictionaryWithObject: [NSNumber numberWithInteger:UIPageViewControllerSpineLocationMin] forKey:UIPageViewControllerOptionSpineLocationKey];
    UIPageViewController *pageVC = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStylePageCurl navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:options];
    UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" 
                                             bundle:[NSBundle mainBundle]];
    UIViewController *firstVC = [sb instantiateViewControllerWithIdentifier:@"FirstTableViewController"];
    UIViewController *secondVC = [sb instantiateViewControllerWithIdentifier:@"SecondViewController"];
    NSArray *viewControllers = [[NSArray alloc] initWithObjects:firstVC, secondVC, nil];
    [pageVC setViewControllers:viewControllers direction:UIPageViewControllerTransitionStylePageCurl animated:NO completion:nil];

    UIButton *button = sender;
    UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:pvc];               
    [popover presentPopoverFromRect:button.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}

そして、これは私が見ることができるものです:

ここに画像の説明を入力してください

ここで何が欠けていますか?

4

1 に答える 1

2

OK、誰かが同様の問題に遭遇した場合、私はそれを解決しました:

初期化の直後に、一度に必要なView Controllerの数を正確に設定する必要があるようです。

したがって、UIPageViewController一度に 1 ページを表示する を作成する場合は、正確に (!) 1 つのビュー コントローラーを含む配列を に配置しsetViewControllers:direction:animated:completion:ます。複数の原因により、コントローラーに何も表示されませんでした。UIPageViewControllerDelegateおよびUIPageViewControllerDataSourceプロトコルを実装することにより、後で他のビュー コントローラを遅延して追加できます。

于 2012-05-27T15:54:00.247 に答える