在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类实例化但它没有显示出来。
答案 0 :(得分:0)
我认为你没有正确设置navigationController,
尝试此而不是self.navigationController!.pushViewController
let secondViewController = PostCreateController()
self.presentViewController(secondViewController, animated: true, completion: nil)