手动设置初始ViewController后,UISwipeGestureRecognizer无法正常工作

时间:2015-05-30 18:35:50

标签: ios swift uiswipegesturerecognizer

AppDelegate.swift中手动设置我的初始ViewController之后 我的UISwipeGestureRecognizer无效。

这就是我的AppDelegate的样子:

        self.mainNavigationController = UINavigationController()
        var mainController: UIViewController? = TineLineViewController()
        self.mainNavigationController!.pushViewController(mainController!, animated: true)
        self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
        self.window!.rootViewController = mainController
        self.window!.makeKeyAndVisible()

这就是我的UISwipeGestureRecognizer在初始ViewController中的设置方式:

        let postLeft : Selector = "postLeft:"
        let postLeftSwipe = UISwipeGestureRecognizer(target: self, action: postLeft)
        postLeftSwipe.direction = UISwipeGestureRecognizerDirection.Left
        goToPostButton.addGestureRecognizer(postLeftSwipe)

这是我的postLeft方法,它实例化一个新的ViewController并导航到它。

func postLeft(sender: AnyObject) {

        println("left swipe to push...")
        let secondViewController = PostCreateController()
    self.presentViewController(secondViewController, animated: true, completion: nil)

    }

当我滑动时,调用postLeft方法,我可以看到println向左滑动以推送,但应用程序没有更改视图。

有没有人有解决这个问题的方法?

谢谢!

更新:

我改变了我的postLeft方法。并且通过控制台我看到我的新viewController类实例化但它没有显示出来。

1 个答案:

答案 0 :(得分:0)

我认为你没有正确设置navigationController,

尝试此而不是self.navigationController!.pushViewController

 let secondViewController = PostCreateController()
 self.presentViewController(secondViewController, animated: true, completion: nil)