iOS 中是否有一种方法可以在 UIView(特别是 UILabel)上运行淡入淡出动画,该动画将通过滑动动作淡入淡出(因此,如果它中途暂停,则左侧可见,右侧不可见,中间有一些渐变之间)。
我想知道是否有可以与 Alpha 通道一起使用的渐变蒙版?
实现这种揭示的任何想法或代码片段?垂直或水平。
(链接到同一问题,但供 Android 参考 - Android - How to fade in a View with a horizontal swipe/fade?)
答案 0 :(得分:0)
简单的 hacky 解决方案将带有可以放置在标签顶部的附加视图。您可以这样做的方法是创建此视图并通过 X 轴或 Y 轴对其进行动画处理。你仍然需要做两件事
如果添加从清晰颜色到背景颜色的渐变,动画效果会更好。
也许不是您问题的确切答案,但它足够好。
此外,您可以像这样跟踪平移手势
@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
}
}
你应该有这样的看法 父视图 - 此视图将在其边界内剪辑子视图 标签 - 这是你的标签,它在父标签中 动画视图 - 它在父视图中,它在动画开始的边界之外。