繁体   English   中英

SWRevealViewController滑动手势不起作用

[英]SWRevealViewController swipe gestures are not working

您好我已经在swift中集成了swrevealview控制器。

我在app delegate中写了下面的代码。

let frontView = ViewController(nibName: "ViewController", bundle: nil)
    let rearView = LeftViewController(nibName : "LeftViewController", bundle :nil)

    var frontNavigationController = UINavigationController(rootViewController: frontView)
    var rearNavigationController = UINavigationController(rootViewController: rearView)

    menuSlider = SWRevealViewController(rearViewController: rearNavigationController, frontViewController: frontNavigationController)
    menuSlider?.delegate = self

    let rightView = LeftViewController(nibName : "RightViewController", bundle :nil)

    menuSlider?.rightViewController = rightView

    self.window?.rootViewController = menuSlider
    self.window?.backgroundColor = UIColor.whiteColor()
    self.window?.makeKeyAndVisible()

在前面看来我写了

 var revealController:SWRevealViewController  = self.revealViewController()
    self.view.addGestureRecognizer(revealViewController().panGestureRecognizer())
    self.view.addGestureRecognizer(revealViewController().tapGestureRecognizer())

如演示中所示。 我看过很多帖子都建议在视图上添加手势。

我不确定我做错了什么。 请帮我解决。

谢谢

我能想到的一件事是,在您的代码中,您不会在任何地方存储对前后视图控制器的强引用。 在执行离开方法体之后,它将基本上被释放。 在你的情况下,这样的事情可以解决问题:

Class myClass { 

    // Declaration
    var frontNC : UINavigationController!
    var rearNC : UINavigationController!

    ...
    func myFunction() {

       // Usage
       self.frontNC = UINavigationController(rootViewController: frontView)
       self.readNC = UINavigationController(rootViewController: rearView)

       // Note* there is no need to store ViewControllers because those
       // are retained by UINavigationController by default. The only
       // exception is if you want to do something with them later obviously :)
    }
}

虽然它会渲染,但它会产生一整套问题,并且手势识别器在我的经验中是最难追踪的。

您可以在Apple文档中阅读有关ARC如何工作的更多详细信息,我认为没有人能比那里写的更好地解释它:)

viewDidLoad方法中添加以下内容,

view.addGestureRecognizer(revealViewController().panGestureRecognizer())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM