带有按钮的可滚动菜单部分

Posted

技术标签:

【中文标题】带有按钮的可滚动菜单部分【英文标题】:Scrollable Menu Section with Buttons 【发布时间】:2016-09-01 17:54:16 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

我会采用两种可能的方式之一:

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

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

UICollectionView with Paging Enable

【讨论】:

我尝试了第一个选项,它有左右分页,但我无法用按钮做任何事情。【参考方案2】:

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

类似这样的:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

    NSInteger currentIndex = self.collectionView.contentOffset.x / self.collectionView.frame.size.width;
    // change page

【讨论】:

以上是关于带有按钮的可滚动菜单部分的主要内容,如果未能解决你的问题,请参考以下文章

如何使用角度和离子制作带有固定标题的可滚动表格

Ionic 2: Beta 8 - 底部的可滚动内容区域切断按钮

如何创建 HTML / CSS 代码,以允许带有按钮的可滚动侧边栏更改旁边播放器中的视频源?

UIButton状态在用多个部分滚动tableview时改变 - Swift

嵌入式GUI LVGL『Window窗口控件』介绍

嵌入式GUI LVGL『Window窗口控件』介绍