使用storyboard通过滑动更改视图

时间:2012-01-28 13:56:38

标签: objective-c ios cocoa-touch

我想创建一个具有三个视图控制器的应用程序。要在它们之间导航,我想使用滑动和页面控制(UIPageControl)。我也想尽可能使用Stroryboards这样做。

实施此方法的最佳方式是什么?

由于

2 个答案:

答案 0 :(得分:4)

这也可以使用故事板和赛段来实现。

基本思路是你会在3个UIViewControllers之间创建segues,然后捕获滑动手势,然后调用perform segue在视图之间移动。

在每个视图上,您​​将有一个或两个segues:

             [ View 1 ]  -> gotoView2
gotoView1 <- [ View 2 ]  -> gotoView3
gotoView2 <- [ View 3 ]  

以下是如何操作的视频。 http://www.youtube.com/watch?v=5u1-DGiUhXU

答案 1 :(得分:1)

如果你知道自己需要做什么,这实际上很容易实现。 UIPageControl无法帮助您实现分页,它只是在跳板上显示点,以显示您所在的页面。

据我所知,故事板允许你在视图或控制器之间切换,如果你所使用的分页效果不是很有用的话。您最好的选择是在其视图中使用一个视图控制器和一个滚动视图。

如果您设置

scrollView.pagingEnabled = YES;
scrollView.contentSize = CGRectMake(0.0f, 0.0f, 320.0f, 480.0f);

或者那种效果(您可以将内容大小更改为您希望页面的大小。滚动视图将在滚动时捕捉到这些边界。

如果要使用UIPageControl显示当前页面,还需要在视图控制器的视图中添加一个。然后实现UIScollViewDelegate协议和方法:

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
    pageControl.currentPage = (calculate current page here);
}

为了制作网页,只需将子视图添加到滚动视图,它就会根据您设置的内容大小进行分页。

希望这个帮助,如果它似乎不清楚或者您需要更多帮助,请告诉我:)。