Swift 动画颜色转换

Swift 动画颜色转换,swift,xcode,Swift,Xcode,嗨,这是一个关于如何处理这个问题的更一般的问题。 如下图所示,我在堆栈视图中有4个文本标签,堆栈视图后面是一个红色UIVew 当UIView在下一个文本上滑动时,我希望只要视图在文本上,文本就会改变颜色。 我不想要一个突然的变化,而是一个掩蔽/滑动颜色效果,由红色视图驱动 目前,它只有在完成过渡后才能改变颜色 你将如何处理这个问题 根据要求,基本滑码: func scrollViewDidScroll(_ scrollView: UIScrollView) { if isScrolli

嗨,这是一个关于如何处理这个问题的更一般的问题。 如下图所示,我在堆栈视图中有4个文本标签,堆栈视图后面是一个红色UIVew

当UIView在下一个文本上滑动时,我希望只要视图在文本上,文本就会改变颜色。 我不想要一个突然的变化,而是一个掩蔽/滑动颜色效果,由红色视图驱动

目前,它只有在完成过渡后才能改变颜色

你将如何处理这个问题

根据要求,基本滑码:

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
    }
}

实现这一目标是可能的,但并非一帆风顺

您必须添加白色和黑色文本标签。这些标签包含在视图中,例如WhiteLabelView和BlackLabelView。红色视图应该是白色标签视图,黑色标签视图应该在它们后面

您的视图应如下所示(RedView是最上面的视图):

  • [红色视图]
  • [白标签视图]
  • [黑标签视图]

您是否尝试检查红色字体的x位置中间是否在标签宽度中间,然后更改字体颜色?你介意写一些代码来更好地理解它是如何工作的吗?嗯!听起来很有趣!我要试一试!并发布我的结果。实际上是有道理的