UISegmentedControl 的水平滚动

Horizontal Scroll for UISegmentedControll

我遇到了一个关于 UISegmentedControlUIScrollView 的问题。在我的项目中,要求是在 UISegmentedControl 中添加 7 个片段,并且滚动应该以水平方式忽略 select 所有可用的 7 个片段。请帮我解决这个问题。

提前致谢。

系统分段控件无法做到这一点。您需要使用第三方库或自己编写。 @Nishant 在他的评论中给了你 link 到 github 回购协议。

所以你需要几个步骤:

  • 将滚动视图content size设置为宽度:页宽*页数、高度;
  • 处理scrollView:didScroll并计算滚动的当前位置并更改选定的分段控件;
  • 处理 scrollViewDidEndDecelerating: 并处理滚动在页面中间结束并移动 contentOffset 到页面开头的情况(决定哪一个);
  • 处理 segmentedControl 点击和 setContentOffset:animated 滚动选定页面