【问题标题】:How telegram app make smooth animation when swipe back?向后滑动时,电报应用程序如何制作流畅的动画?
【发布时间】:2018-11-23 09:52:46
【问题描述】:

当向后交换时发出电报时,仍然会出现软过渡,我会很高兴为您提供帮助

video

【问题讨论】:

  • 我认为它的自定义导航动画,你能帮我吗?

标签: swift animation transition navigationcontroller


【解决方案1】:

当您想要导航到之前的 ViewController(如果它们嵌入在 NavigationController 中)时,默认情况下会设置此动画。因此,您只需按住屏幕左侧(手机左边缘约 20 像素)并向右滑动即可。

【讨论】:

  • 是的,但是在电报应用程序中试试这个,在 tg 动画中更流畅,更好,我认为它是自定义的
  • @Dima 你试过了吗?也许你的动画不如 tg app 流畅的原因是你在模拟器中运行你的应用程序。
  • @Dima 是的,但你说动画更好。我想你已经尝试了一些东西,但它不够流畅,所以我写了一个原因可能是你在模拟器中运行你的应用程序
  • 你可以在你的iphone上安装电报并向后滑动2-5次吗?你明白我的意思)在任何其他有 Navi 的应用程序中也可以进行相同的滑动以进行比较
【解决方案2】:

动画可以是默认的(导航流)或自定义的(通过动画UIView 而不是UIViewController 与导航流)。但是,仅基于您在 ViewController 中处理的主线程负载,过渡才会顺利。

例如:

  1. 如果您正在执行任何繁重的操作,例如使用 大量数据,您的过渡需要一些时间 控制器。
  2. 如果您将任何 NSAttributedString 与 NSHTMLTextDocumentType 一起使用,它会减慢 ViewController 的转换速度。
  3. 尤其是这些操作可能在 ViewDidLoad、ViewWillAppear 或 TableView 的委托/数据源方法中执行。

【讨论】:

  • 我的项目很简单,没有核心数据,没有NSAtrr,还有什么繁重的方法:(
【解决方案3】:

试试这个

class YourViewcontroller: UIViewController,UIGestureRecognizerDelegate{

 override func viewDidLoad() {
    super.viewDidLoad()

    self.navigationController?.interactivePopGestureRecognizer?.delegate = self
    self.navigationController?.interactivePopGestureRecognizer?.isEnabled = true


    }


 func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    return true
  }


}

【讨论】:

  • 是的,没有效果:(
  • 是的,就像视频上的应用,但在电报中滑动非常流畅
猜你喜欢
  • 2017-05-27
  • 2018-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-14
  • 1970-01-01
  • 2014-01-16
相关资源
最近更新 更多