可滑动的 UISegmentedControl

Posted

技术标签:

【中文标题】可滑动的 UISegmentedControl【英文标题】:Swipeable UISegmentedControl 【发布时间】:2016-12-20 04:38:57 【问题描述】:

我需要在 Swift 中实现一个 Swipeable UISegmentedControl。我有 UISegmenttedControl 视图,但我如何才能像 android 中的标签栏一样进行滑动操作。

我有一个 git MIT 许可项目HMSegmentedControl,但我需要独立实现它。我需要一个简单的指导。

【问题讨论】:

如果底层视图是滚动视图(应该是),您可以简单地获取位置在 contentview 上的百分比,然后使用 scrollViewDidScroll 中的移动段突出显示视图 这个问题太笼统了。你已经尝试了什么?请发布您正在进行的实施。 【参考方案1】:

使用UISegmentControl 作为UIScrollView 的子视图

我正在使用UIStoryboard 来设计我的视图。请按照以下步骤操作。

第 1 步:将 UIScrollView 添加到您的故事板。

第 2 步:UIScrollView 的宽度应为 View 的宽度,高度约为 60px。

第三步:在UIScrollView中添加带有n个Segment的UISegmentControlUISegmentControl的宽度应该是100*n px(可以根据自己的要求计算)。

第 4 步:现在,在 ViewController 中为 UIScrollView 添加 Outlet。

第 5 步:为 UIScrollView 添加 contentsize,在 ViewController 的 viewDidLoad 中添加以下代码

self.scrollView.contentSize = CGSizeMake(100*n, 60);

请为UISegmentControl 进行您自己的自定义。我已经测试过,它对我有用。

这应该适合你!

【讨论】:

以上是关于可滑动的 UISegmentedControl的主要内容,如果未能解决你的问题,请参考以下文章

Flutter了解之可滑动组件

RecyclerView 滑动删除仍然显示不完整滑动的可绘制

Kotlin 实现可点击可滑动顶部导航栏(AppBarLayout+TabLayout)和左右切换可滑动页面(ViewPager)的功能

uni-app_uView1.0 实现可点击可滑动顶部导航栏和左右切换可滑动页面的功能

RecyclerView滑动删除仍然显示不完整滑动可绘制

QML:在 StackView 中,水平可滑动的视觉效果会持续存在