【发布时间】:2014-08-22 10:00:18
【问题描述】:
我正在使用SWRevealViewController 在我的应用程序中实现两个侧边导航视图。我按照故事板的方法,成功实现了后视图和前视图。我尝试通过情节提要设置与后视图完全相同的右视图,但无法做到。
我已将显示视图控制器 segue 设置为“sw_right”,但看起来它没有被 - (void)prepareForSegue:(SWRevealViewControllerSegue *)segue sender:(id)sender 识别,它为“sw_rear”和“sw_front”调用了两次
我错过了什么?
- (void)prepareForSegue:(SWRevealViewControllerSegue *)segue sender:(id)sender
{
// $ using a custom segue we can get access to the storyboard-loaded rear/front view controllers
// the trick is to define segues of type SWRevealViewControllerSegue on the storyboard
// connecting the SWRevealViewController to the desired front/rear controllers,
// and setting the identifiers to "sw_rear" and "sw_front"
// $ these segues are invoked manually in the loadView method if a storyboard
// was used to instantiate the SWRevealViewController
// $ none of this would be necessary if Apple exposed "relationship" segues for container view controllers.
NSString *identifier = segue.identifier;
if ( [segue isKindOfClass:[SWRevealViewControllerSegue class]] && sender == nil )
{
if ( [identifier isEqualToString:SWSegueRearIdentifier] )
{
segue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc)
{
[self _setRearViewController:dvc animated:NO];
};
}
else if ( [identifier isEqualToString:SWSegueFrontIdentifier] )
{
segue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc)
{
[self _setFrontViewController:dvc animated:NO];
};
}
//This is never executed even after setting the identifier
else if ( [identifier isEqualToString:SWSegueRightIdentifier] )
{
segue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc)
{
[self _setRightViewController:dvc animated:NO];
};
}
}
}
【问题讨论】:
-
你在 nw 遇到的实际问题是什么
-
我认为你没有滑动右视图控制器,正确
-
@Anbu.Karthik 我只使用栏按钮来显示和隐藏后视图和右视图。当我在故事板中将显示视图控制器 segue id 设置为
sw_right时,未设置 rightViewController。除了添加自定义转场之外,我还应该在故事板中添加什么? -
关于这个问题的任何想法stackoverflow.com/questions/31481559/…
标签: ios objective-c iphone swift swrevealviewcontroller