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

现在,这样做会使上一个视图变暗,我希望使外观和感觉像android中的Navigation抽屉一样。但这只会在该UIView中显示“过滤器”设置。

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

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

最佳答案

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

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

})

10-07 19:41
查看更多