首页 > 解决方案 > 从屏幕右侧向左滑动 UIView

问题描述

我正在开发应用程序,其中我正在显示 UITableView。在 UITableView 之上有一个按钮过滤器。现在单击该按钮,我想为 UIVIEW 设置动画以从屏幕右侧到屏幕左侧进行动画处理。它必须进行动画处理,直到达到屏幕宽度的 70%。

现在这样做会使以前的视图变暗一点,我想让外观和感觉像 android 中的导航抽屉一样。但这只会显示该 UIView 中的过滤器设置。

我搜索了一下,那里有太多的库来执行我想要的任务,但我想自己编写代码并为 UIView 或 Nib 设计制作动画。

无论如何,在不使用任何库或任何东西的情况下执行我想要的东西吗?请让我知道我在等待。提前致谢。

标签: iosuiviewswift4

解决方案


在这种情况下,我喜欢为视图设置动画的方式是在视图上使用变换——它保留了视图的布局和外观,并且通常看起来比更改视图的宽度更好。

UIView.animate(withDuration: 0.35, animations: {

   let moveLeft = CGAffineTransform(translationX: -(view.bounds.width * 0.7), y: 0.0)
    viewController.view.transform = moveLeft

})

要将视图返回到其正常位置,只需再次设置变换,使用 0.0 作为translationX值。

UIView.animate(withDuration: 0.35, animations: {

   let zero = CGAffineTransform(translationX: 0.0, y: 0.0)
    viewController.view.transform = zero

})

推荐阅读