Ios 使用按钮移动pageViewController(objective-c)

Ios 使用按钮移动pageViewController(objective-c),ios,objective-c,uipageviewcontroller,Ios,Objective C,Uipageviewcontroller,我有一个pageViewController,每次滑动都会将不同的图像显示在屏幕上。页面的工作方式非常好。但是,我正在尝试实现一个按钮,该按钮也可以进行分页。我在左上角有一个按钮叫“后退”,右上角有一个按钮叫“下一步”。我不能让这些按钮工作 注意:OnboardingChildViewController是LoginSignUpController的子控制器 代码: LoginSignUpViewController.m: #pragma mark - Paging delegate - (O

我有一个pageViewController,每次滑动都会将不同的图像显示在屏幕上。页面的工作方式非常好。但是,我正在尝试实现一个按钮,该按钮也可以进行分页。我在左上角有一个按钮叫“后退”,右上角有一个按钮叫“下一步”。我不能让这些按钮工作

注意:OnboardingChildViewController是LoginSignUpController的子控制器

代码: LoginSignUpViewController.m:

#pragma mark - Paging delegate

- (OnboardingChildViewController *)viewControllerAtIndex:(NSUInteger)index {

    OnboardingChildViewController *childViewController = [[OnboardingChildViewController alloc] initWithNibName:@"OnboardingChildViewController" bundle:nil];
    childViewController.index = index;
    return childViewController;

}

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController {

    NSUInteger index = [(OnboardingChildViewController *)viewController index];

    if (index == 0) {
        return nil;
    }

    // Decrease the index by 1 to return
    index--;

    return [self viewControllerAtIndex:index];

}

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {

    NSUInteger index = [(OnboardingChildViewController *)viewController index];

    index++;

    if (index == 5) {
        return nil;
    }

    return [self viewControllerAtIndex:index];

}

- (NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController {
// The number of items reflected in the page indicator.
return 5;
}

- (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController {
// The selected item reflected in the page indicator.
return 0;
}
- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor clearColor];

    switch(self.index)
    {
    case 0: {
        self.dismissButton.hidden = true;
        self.onboardingImage.image = nil;
        [self.nextButton setTitle:@"Take a Tour" forState:UIControlStateNormal];
        self.onboardingDescription.hidden = true;
        self.index = 0;
        break;
    }
    case 1: {
        self.dismissButton.hidden = false;
        self.onboardingImage.image = [UIImage imageNamed: @"onboardingImage1.png"];
        self.onboardingDescription.text = @"Follow users to see their content in your feed";
        self.index = 1;
        break;
    }
    case 2: {
        self.dismissButton.hidden = false;
        self.onboardingImage.image = [UIImage imageNamed: @"onboardingImage2.png"];
        self.onboardingDescription.text = @"Listen to Stations based on your interest";
        self.index = 2;
        break;
    }
    case 3: {
        self.dismissButton.hidden = false;
        self.onboardingImage.image = [UIImage imageNamed: @"onboardingImage3.png"];
        self.onboardingDescription.text = @"Easily Search for Users, Posts, and Stations";
        self.index = 3;
        break;
    }
    default: {
         self.dismissButton.hidden = false;
        self.onboardingImage.image = [UIImage imageNamed: @"onboardingImage4.png"];
        [self.nextButton setTitle:@"Sign Up" forState:UIControlStateNormal];
        self.onboardingDescription.text = @"Post Photos, Videos, Audio, and Live Video to Stations";
        self.index = 4;
        break;
    }
}

}


- (IBAction)backButton:(id)sender {
   //NEED TO MOVE PAGEVIEWCONTROLLER BACK.... self.index--?


}
- (IBAction)nextButton:(id)sender {
    //NEED TO MOVE PAGEVIEWCONTROLLER FORWARD.... self.index++?
}
OnboardingChildViewController.m:

#pragma mark - Paging delegate

- (OnboardingChildViewController *)viewControllerAtIndex:(NSUInteger)index {

    OnboardingChildViewController *childViewController = [[OnboardingChildViewController alloc] initWithNibName:@"OnboardingChildViewController" bundle:nil];
    childViewController.index = index;
    return childViewController;

}

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController {

    NSUInteger index = [(OnboardingChildViewController *)viewController index];

    if (index == 0) {
        return nil;
    }

    // Decrease the index by 1 to return
    index--;

    return [self viewControllerAtIndex:index];

}

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {

    NSUInteger index = [(OnboardingChildViewController *)viewController index];

    index++;

    if (index == 5) {
        return nil;
    }

    return [self viewControllerAtIndex:index];

}

- (NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController {
// The number of items reflected in the page indicator.
return 5;
}

- (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController {
// The selected item reflected in the page indicator.
return 0;
}
- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor clearColor];

    switch(self.index)
    {
    case 0: {
        self.dismissButton.hidden = true;
        self.onboardingImage.image = nil;
        [self.nextButton setTitle:@"Take a Tour" forState:UIControlStateNormal];
        self.onboardingDescription.hidden = true;
        self.index = 0;
        break;
    }
    case 1: {
        self.dismissButton.hidden = false;
        self.onboardingImage.image = [UIImage imageNamed: @"onboardingImage1.png"];
        self.onboardingDescription.text = @"Follow users to see their content in your feed";
        self.index = 1;
        break;
    }
    case 2: {
        self.dismissButton.hidden = false;
        self.onboardingImage.image = [UIImage imageNamed: @"onboardingImage2.png"];
        self.onboardingDescription.text = @"Listen to Stations based on your interest";
        self.index = 2;
        break;
    }
    case 3: {
        self.dismissButton.hidden = false;
        self.onboardingImage.image = [UIImage imageNamed: @"onboardingImage3.png"];
        self.onboardingDescription.text = @"Easily Search for Users, Posts, and Stations";
        self.index = 3;
        break;
    }
    default: {
         self.dismissButton.hidden = false;
        self.onboardingImage.image = [UIImage imageNamed: @"onboardingImage4.png"];
        [self.nextButton setTitle:@"Sign Up" forState:UIControlStateNormal];
        self.onboardingDescription.text = @"Post Photos, Videos, Audio, and Live Video to Stations";
        self.index = 4;
        break;
    }
}

}


- (IBAction)backButton:(id)sender {
   //NEED TO MOVE PAGEVIEWCONTROLLER BACK.... self.index--?


}
- (IBAction)nextButton:(id)sender {
    //NEED TO MOVE PAGEVIEWCONTROLLER FORWARD.... self.index++?
}
调用SetViewController并传入要显示的ViewController

: