8

我正在尝试将 PKRevealController 集成到我的现有项目中。

https://github.com/pkluz/PKRevealController

如果我使用情节提要,如何设置左视图控制器、右视图控制器和前视图控制器?自述文件说要做...

PKRevealController *revealController = [PKRevealController revealControllerWithFrontViewController:frontVC leftViewController:leftVC options:options];

self.window.rootViewController = revealController;

我会将这些代码行放在我现有的故事板项目中的什么位置?或者有没有其他方法可以设置它?

谢谢!

4

2 回答 2

2

只需将 segue 目标控制器的类型设置为PKRevealController并为前、左和右视图控制器设置故事板 ID。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{

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

    PKRevealController* prc = segue.destinationViewController;

    prc.frontViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"FrontViewController"];
    prc.leftViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"LeftViewController"];
    prc.rightViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"RightViewController"];

  }
}
于 2013-06-10T14:17:39.233 回答
2

我知道这是一个旧线程,但无论如何我都会在这里发表:)

要使PKRevealController基本上与故事板一起使用,您将需要三个视图控制器。

  1. BaseController(我称之为),它被 PKRevealController 扩展,它将如何充当主要内容控制器和导航控制器的基础。

  2. MainController,它被设置为 fronViewController。

  3. NaviController,我们基本上将其用作 leftViewController,也就是导航菜单。

仅供参考:您可以从 stroyboard 设计和编码 MainController 和 NaviController。

所以我们就是这样做的;首先,我们需要像这样使用 PKRevealController 扩展我们的 BaseController;

@interface MainController : PKRevealController

其次,还是在 BaseController 中,将这些行添加到 viewDidLoad 方法中;

//init the fonrViewController
UIViewController *homeController = [self.storyboard instantiateViewControllerWithIdentifier:@"homeScreen"];
//init the leftViewController
UIViewController *naviContrlller = [self.storyboard instantiateViewControllerWithIdentifier:@"quickNaviScreen"];

[self setFrontViewController:homeController];
[self setLeftViewController:naviContrlller];

然后将 PKRevealController 委托设置为;

self.delegate = self;

就是这样。

于 2015-08-26T07:39:53.753 回答