iOS UISegmentedControll 顺利改变selectedIndex

iOS UISegmentedControll change selectedIndex smoothly

UISegmentedControl 位于 UINavigationBar 中并且有两个元素(例如 @"One"@"Two")。 UIViewController 包含一个 UIScrollView,其中有两个水平滚动页面。分段控件指示当前显示的页面。我知道这是如何工作的,但我想实现它,以便在滚动所选选项卡时顺利更改。 就像在 Apple Music 应用程序中一样...

事实证明,设置分段控件的选定索引现在是可动画的:

UIView.animateWithDuration(4) {
    self.seg.selectedSegmentIndex = 1
}

所以他们一定是这样做的,通过将层速度设置为 0 并更改 timeOffset 来协调它与视图的交互式滚动,正如我在这里解释的那样: