Swift PageView 导航器按钮设置为新的 UIpageview

Swift PageView navigator button set to new UIpageview

我有一个包含 4 个页面的综合浏览量。 pageView 使用的是之前 UIViewController 的导航栏。我想在导航栏中设置我的 UIPageView 按钮以转到新的 UIView。几乎没有问题。当我使用 performSegueWithIdentifier("CrankSetViewController", sender: sender) 它给我一个黑屏。如何在不黑屏的情况下以编程方式更改为新的 UIView?

在Swift-

    pageViewController.setViewControllers(startingViewControllers,
        direction: UIPageViewControllerNavigationDirection.Forward,
        animated: true,
        completion: nil)

你可以在@IBAction

中设置

您可以使用 setViewControllers:direction:animated:completion 以编程方式设置当前显示的带有过渡动画的视图控制器:在您的页面视图控制器上。

这是一个使用随机背景颜色呈现视图控制器的示例。您可以调整它以使用您的特定视图控制器。

- (void)viewDidLoad
{
 [super viewDidLoad];
self.pvc = [[UIPageViewController alloc]initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];
self.pvc.view.frame = CGRectInset(self.view.bounds, 200, 200);
[self.view addSubview:self.pvc.view];

[self.pvc setViewControllers:@[[self randomVC]] direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:nil];
}

-(UIViewController*)randomVC
{
UIViewController *vc = [[UIViewController alloc] init];
UIColor *color = [UIColor colorWithRed:arc4random_uniform(255)/255.0 green:arc4random_uniform(255)/255.0 blue:arc4random_uniform(255)/255.0 alpha:1];
vc.view.backgroundColor = color;
return vc;
}

- (IBAction)previousButtonPressed:(id)sender {
[self.pvc setViewControllers:@[[self randomVC]] direction:UIPageViewControllerNavigationDirectionReverse animated:YES completion:nil];
}

- (IBAction)nextButtonPressed:(id)sender {
[self.pvc setViewControllers:@[[self randomVC]] direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:nil];
}

希望对您有所帮助...