使用SWrevealviewcontroller

时间:2016-04-04 21:12:03

标签: ios swift segue swrevealviewcontroller

我需要使用SWRevealViewController将前ViewController传递给后ViewController,但我完全不知道该怎么做。

后视图中的变量如下所示:

var mainView : ViewController!

如何在ViewController前面传递任何建议?

3 个答案:

答案 0 :(得分:0)

这是一个很好的问题。经过多次努力,我找到了一条出路。

在viewController.swift文件中,

import UIKit

//Add this line before your class definition
var homeController: ViewController!

class ViewController: UIViewController {
    .......

    override func viewDidLoad() {
        super.viewDidLoad()
        home = self
        .....
    }

}

在后视图控制器中,您可以访问前视图控制器的成员。

希望这会有所帮助: - )

答案 1 :(得分:0)

我在prepareForSegue中使用它来传递适合我的数据

 if ([[segue identifier] isEqualToString:@"SWReveal"]) {

       SWRevealViewController *destination = [segue destinationViewController];
       [destination loadView];
       UINavigationController *navViewController = (UINavigationController *) [destination rearViewController];

       if ([navViewController.topViewController isKindOfClass:[MenuViewController class]]) {

          MenuViewController* menuVC = (MenuViewController*)navViewController.topViewController;
          menuVC.title = @"Menu";
        } 
    }

希望有所帮助

答案 2 :(得分:0)

SWRevealViewController有两个属性,它们引用两个视图控制器:rearViewController和frontViewController。所以你应该做这样的事情:

    class RearViewController: UIViewController {
    var mainView : ViewController!

    override func viewDidLoad() {
       super.viewDidLoad() 
       mainView = self.revealViewController().frontViewController
    }

}