动画色彩过渡

时间:2018-11-09 07:52:21

标签: swift xcode

您好,这是有关如何解决此问题的更一般的问题。 如您在下图中所看到的,我在堆栈视图中有4个textLabels,在堆栈视图后面是红色的UIVew。

当UIView滑过下一个文本时,只要视图在文本上方,我都希望文本更改颜色。 我不希望突然改变,而是想要由红色UIView驱动的蒙版/滑动颜色效果。

目前,一旦转换完成,它唯一会改变的颜色。

您将如何处理?

enter image description here

根据要求提供基本的滑动代码:

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    if isScrolling {
        let factor = (scrollView.contentOffset.x/UIScreen.main.bounds.width) * (margin.left/2)
        self.navigationBar.indicatorConstraint.constant = (scrollView.contentOffset.x / 4) - factor
    }
}

1 个答案:

答案 0 :(得分:0)

虽然可以实现,但并非一帆风顺。

您将不得不添加白色和黑色文本UILabels。这些标签包含在视图中,例如 WhiteLabelsView BlackLabelsView 。红色视图应该mask WhiteLabelsView,而BlackLabelsView应该在它们后面。

您的视图应如下所示(RedView是最顶部的视图):

  • [RedView]
  • [WhiteLabelsView]
  • [BlackLabelsView]