如何使 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 只调用一次的主要内容,如果未能解决你的问题,请参考以下文章

mfc 如何使窗口居中

如何使 RelativeLayout 半透明但不使活动

如何用word使图片上下居中

如何使图像自动调整大小,使宽度为 100% 并相应调整高度?

如何使 UISegmentedcontrol 透明?

如何使 textarea 填充 div 块?