Ios 如何在两个UIViewController之间跳转
我想在两个Ios 如何在两个UIViewController之间跳转,ios,objective-c,uiviewcontroller,uiscrollview,Ios,Objective C,Uiviewcontroller,Uiscrollview,我想在两个UIViewcontrollers 通过刷卡动作 目前,我实现了一个UIScrollView,并在其上添加了UIViewController(vc1和vc2),因此 关于vc1 向左滑动:跳转到vc2 向右滑动:什么也不做 关于vc2 向左轻扫:什么也不做 向右滑动:跳转到vc1 但我想要的是: 关于vc1 向左滑动:跳转到vc2 向右滑动:跳转到vc2 关于vc2 向左滑动:跳转到vc1 向右滑动:跳转到vc1 那么,如何实现呢?试试这个 步骤: 在视图控制器中创建一个UIPageV
UIViewcontrollers
通过刷卡动作
目前,我实现了一个UIScrollView
,并在其上添加了UIViewController
(vc1和vc2),因此
关于vc1
向左滑动:跳转到vc2
向右滑动:什么也不做
关于vc2
向左轻扫:什么也不做
向右滑动:跳转到vc1
但我想要的是:
关于vc1
向左滑动:跳转到vc2
向右滑动:跳转到vc2
关于vc2
向左滑动:跳转到vc1
向右滑动:跳转到vc1
那么,如何实现呢?试试这个
步骤:
UIPageViewController
self.pageController=[[UIPageViewController alloc]initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientation水平选项:nil]代码>
在UIPageViewController
NSArray*viewControllers=//在数组中添加两个视图控制器代码>
[self.pageController setViewControllers:viewcontrollerdirection:UIPageViewControllerNavigationDirectionForward-animated:NO-completion:nil]代码>
设置数据源并将UIPageViewController
添加为子视图控制器
self.pageController.dataSource=self代码>
[self addChildViewController:self.pageController]代码>
现在,您需要实现两种方法
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController {
NSUInteger index = [(ViewController *)viewController index];
if (index == 0) {
return nil;
}
// Decrease the index by 1 to return
index--;
return viewControllers[index];//[self viewControllerAtIndex:index];//viewControllerAtIndex
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
NSUInteger index = [(ViewController *)viewController index];
if (index == 1) {
return nil;
}
index++;
return viewControllers[index];
}
试试这个
步骤:
在视图控制器中创建一个UIPageViewController
self.pageController=[[UIPageViewController alloc]initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientation水平选项:nil]代码>
在UIPageViewController
NSArray*viewControllers=//在数组中添加两个视图控制器代码>
[self.pageController setViewControllers:viewcontrollerdirection:UIPageViewControllerNavigationDirectionForward-animated:NO-completion:nil]代码>
设置数据源并将UIPageViewController
添加为子视图控制器
self.pageController.dataSource=self代码>
[self addChildViewController:self.pageController]代码>
现在,您需要实现两种方法
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController {
NSUInteger index = [(ViewController *)viewController index];
if (index == 0) {
return nil;
}
// Decrease the index by 1 to return
index--;
return viewControllers[index];//[self viewControllerAtIndex:index];//viewControllerAtIndex
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
NSUInteger index = [(ViewController *)viewController index];
if (index == 1) {
return nil;
}
index++;
return viewControllers[index];
}
你的代码中有一些错误,但很高兴知道我应该在这里使用UIPageViewController。你的代码中有一些错误,但很高兴知道我应该在这里使用UIPageViewController。