如何使 SwrevealViewController 的 viewDidLoad 只调用一次
Posted
技术标签:
【中文标题】如何使 SwrevealViewController 的 viewDidLoad 只调用一次【英文标题】:how to make viewDidLoad of SwrevealViewController call only once 【发布时间】:2015-08-24 11:28:46 【问题描述】:我试图在使用SWRevealViewController
时只调用一次视图控制器的viewDidLoad
。我正在关注这些tutorial
并且想要做一些改变以编程方式加载视图控制器而不是使用 segues..
我尝试将MenuController
类中的前视图控制器设置为
class MenuController: UITableViewController
var navcontroller: UINavigationController?
override func viewDidLoad()
super.viewDidLoad()
navcontroller = self.storyboard?.instantiateViewControllerWithIdentifier("pager") as? UINavigationController
override func didReceiveMemoryWarning()
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
override func viewWillAppear(animated: Bool)
println("ok this i get called")
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
if indexPath.row == 2
if let temp = navcontroller
self.revealViewController().setFrontViewController(navcontroller!, animated: true)
else
println("navigation controller contains nil vaue")
我遇到的问题是当我尝试设置一次 frontViewController 时出现黑屏...Here 是我所做的工作
【问题讨论】:
【参考方案1】:其实一切都很好,只是需要另一种方法来调用
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
if indexPath.row == 2
if let temp = navcontroller
self.revealViewController().pushFrontViewController(temp, animated: true)
else
println("navigation controller contains nil vaue")
【讨论】:
以上是关于如何使 SwrevealViewController 的 viewDidLoad 只调用一次的主要内容,如果未能解决你的问题,请参考以下文章