【问题标题】:iOS - How to fade in a UIView with a horizontal swipe/fade?iOS - 如何通过水平滑动/淡入淡出 UIView?
【发布时间】:2021-05-18 11:52:59
【问题描述】:

iOS 中是否有办法在 UIView(特别是 UILabel)上运行淡入淡出动画,该动画将通过滑动动作淡入(因此,如果它暂停一半,左侧可见,右侧不可见,中间有一些渐变之间)。

我想知道是否有可以与 Alpha 通道一起使用的渐变蒙版?

有什么想法或代码 sn-ps 来实现这种显示吗?垂直或水平。

(链接到相同的问题,但供 Android 参考 - Android - How to fade in a View with a horizontal swipe/fade?

【问题讨论】:

    标签: ios animation fade


    【解决方案1】:

    简单的 hacky 解决方案将具有可放置在标签顶部的附加视图。您可以通过 X 轴或 Y 轴移动来创建此视图并为其设置动画。你仍然需要做两件事

    1. 触发动画的简单滑动手势。
    2. 平移手势将随着手势的移动移动视图。(如果您拖动超过 50% 的标签宽度/高度来触发动画的其余部分。)

    如果您添加从清晰颜色到背景颜色的渐变,动画效果会更好。

    也许不是您问题的确切答案,但它会足够好。

    此外,您还可以像这样跟踪平移手势

    @objc private func didPan(_ sender: UIPanGestureRecognizer) {
    switch sender.state {
    case .began:
       //dispalay view
    case .changed:
        let translation = sender.translation(in: view)
      //move view by x or y
    case .ended,
         .cancelled:
      //finish animation or reverted
        }
    default:
        break
    }
    }
    

    你应该有这样的看法 父视图 - 此视图将在其范围内剪辑子视图 标签 - 这是您的标签,它在父标签中 动画视图 - 它在父级中,并且在动画开始时超出边界。

    【讨论】:

    • 干杯可能会尝试这样的事情。虽然不会附加到任何手势或输入,但我认为它只是在空白屏幕上显示一些文本(在新用户的登机流程中)。但是,是的,你的建议是一个空白的 UIView 渐变到 alpha,它的 X 或 Y 位置动画水平/垂直显示?这可能行得通,想知道是否有办法使用图层蒙版或类似的东西来做到这一点。
    • 我意识到“滑动”听起来像是手势,我的意思是“滑动”过渡/动画
    • 是的,这是我的想法。我不确定如何使用 Masks 来完成。我会将这个问题加入书签,看看是否有人给出了一个很好的例子。
    • :) 是的,我的理解是您想要滑动/平移以触发/控制动画。
    猜你喜欢
    • 1970-01-01
    • 2011-09-19
    • 2021-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 2012-03-22
    • 1970-01-01
    相关资源
    最近更新 更多