簡體   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