use*_*282 9 uiviewcontroller uiview swipe ios
我知道我已经问了几次这个问题,但是我很缺乏经验,并且认为我还没有得到正确的答案.
我现在有两个视图控制器,每个控制器都有一个.h文件,一个.m文件和一个.xib文件.在两个.xib文件中,我都有一个UIView.如何制作它以便您可以在这两个视图之间滑动?例如,应用程序在第一个视图上打开,然后从右向左滑动,出现下一个视图.我希望在滑动照片时,滑动的动画就像照片应用程序的动画一样.
Rob*_*Rob 17
虽然你可以自己实现(与自定义的容器视图控制器会同UIPanGestureRecognizer或UIScrollView),如果使用的是iOS 6及更高版本,最简单的方法将是使用网页浏览器与"滚动"转变作风.
考虑这个故事板:

它由一个页面视图控制器和两个两页的场景组成.第1页的故事板标识符one和基类PageOneViewController.第2页有一个故事板标识符two和一个基类PageTwoViewController.
然后我编写了一个UIPageViewController子类(也许很明显,这是我为上述故事板的第一个场景指定的类),它具有以下代码:
- (void)viewDidLoad
{
[super viewDidLoad];
self.dataSource = self;
[self setViewControllers:@[[self.storyboard instantiateViewControllerWithIdentifier:@"one"]] direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
if ([viewController isKindOfClass:[PageOneViewController class]])
return nil;
return [self.storyboard instantiateViewControllerWithIdentifier:@"one"];
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
if ([viewController isKindOfClass:[PageTwoViewController class]])
return nil;
return [self.storyboard instantiateViewControllerWithIdentifier:@"two"];
}
Run Code Online (Sandbox Code Playgroud)
您也可以使用NIB执行此操作,但它需要编写更多代码.如果你搜索UIPageViewController XIB,你可能会得到一些点击.
如果您需要支持6.0之前的iOS版本,则必须使用平移手势或滚动视图执行自定义容器方法.
| 归档时间: |
|
| 查看次数: |
17822 次 |
| 最近记录: |