带按钮的可滚动菜单部分
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
我正在尝试创建一个您可以左右滚动的菜单,它只占用页面的一部分。这是一个简单的示例:
顶部栏下方和页面控件顶部的所有内容左右移动。我尝试使用 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