这实际上更像是一个 UI 设计问题,而不是一个编程问题……但无论如何我都会加入一些编程问题。
我建议您将三个预测放在一个支持分页的滚动视图中。然后你只需要一个标签,你就可以让用户在预测之间滑动:

您还可以UIPageViewController在 iOS 6 上通过将其设置为transitionStyle来实现此滚动UIPageViewControllerTransitionStyleScroll。
为了让用户知道有多个可用的预测,您可以添加一个UIPageControl,如果您可以在那个相当繁忙的预测屏幕上找到它的空间。
让用户了解其他预测页面的另一种方法是在滚动视图出现时反弹它。这是编程进来的!
在预测选项卡的视图控制器中执行此操作:
- (void)viewDidAppear:(BOOL)animated {
[self bounceScrollViewIfNeeded];
}
- (void)bounceScrollViewIfNeeded {
if (scrollView_.contentOffset.x != 0)
return;
[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionAllowUserInteraction animations:^{
scrollView_.contentOffset = CGPointMake(20, 0);
} completion:^(BOOL finished) {
if (finished && !scrollView_.tracking) {
[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionAllowUserInteraction animations:^{
scrollView_.contentOffset = CGPointZero;
} completion:nil];
}
}];
}
如果滚动视图显示最左边的页面,则此代码在出现预测选项卡时使滚动视图弹跳一点。您可能还想在用户看到几次后停止反弹。无论如何,它看起来像这样:

如果用户在弹跳发生时尝试开始拖动,则需要取消动画。您可以通过将视图控制器分配为滚动视图的委托并实现此委托方法来做到这一点:
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
[scrollView_.layer removeAnimationForKey:@"bounds"];
}
我认为没有一种简单的方法可以使用UIPageViewController.