带按钮的可滚动菜单部分

Scrollable Menu Section with Buttons

我正在尝试创建一个您可以左右滚动的菜单,它只占用页面的一部分。这是一个简单的示例:

顶部栏下方和页面控件顶部的所有内容左右移动。我尝试使用 pageviewcontroller,但我发现的所有教程都将它与静态对象一起使用。如果使用任何按钮,它们将在 pageviewcontroller 之外使用。

我的问题是,是否有类似 pageviewcontroller 的东西,我可以在上面放置以相同方式左右滚动的按钮?

在您的特定示例中,我认为将 UICollectionView 与 UIPageControl 一起使用会更好(您需要计算何时必须更改集合视图滚动委托方法 scrollViewDidScroll 或 scrollViewDidEndDecelerating 中的当前页面)。

像这样:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    NSInteger currentIndex = self.collectionView.contentOffset.x / self.collectionView.frame.size.width;
    // change page
}

我会采用以下两种可能的方法之一:

1) 创建 pageViewController 并设计了 pageViewController 的各个页面,这些页面具有正确设计的布局,即居中和优化按钮大小等

2) 创建使用水平分页的 UICollectionView。此处描述了一些解决方案:

UICollectionView with Paging Enable