【发布时间】:2015-12-01 07:40:42
【问题描述】:
在以前版本的 SWRevealViewController 中,我创建了 SWRevealViewControllerSegue class 的 segue,而在 prepareforSegue 中,我使用了以下代码。
#pragma mark - Navigation
- (void) prepareForSegue: (UIStoryboardSegue *) segue sender: (id) sender
{
if ( [segue isKindOfClass: [SWRevealViewControllerSegue class]] )
{
SWRevealViewControllerSegue *swSegue = (SWRevealViewControllerSegue*) segue;
swSegue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc) {
UINavigationController* navController = (UINavigationController*)self.revealViewController.frontViewController;
[navController setViewControllers: @[dvc] animated: NO ];
[self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];
};
}
}
在新版本的SWRevealViewController中,没有segue SWRevealViewControllerSegue 类。取而代之的是一个名为 SWRevealViewControllerSetSegue 。我创建了这个类的一个segue,但是 导航没有发生。
上面的代码不能在新版本中使用,因为它已被弃用。我应该在prepareforSegue中使用什么?
我该怎么做才能执行导航?请帮助。
【问题讨论】:
-
这是出于示例目的而给出的,但 SWLRevalViewCOntroller 不需要它
-
你不需要这样做,只需创建一个自定义 segue 并从 SWRevealViewController 设置类。有两个类可供使用
SWRevealViewControllerSegueSetController和SWRevealViewControllerSeguePushController,它可以工作。欢呼快乐编码 -
那么set controller和pushcontroller segue有什么区别呢?
-
我认为这个问题很棒,并且会尝试对我一直在尝试的内容进行更改。
标签: ios objective-c iphone swrevealviewcontroller