【发布时间】:2015-11-19 11:03:52
【问题描述】:
我正在使用 John Lluch 的 SWRevealViewController,效果很好,但我无法弄清楚如何在目标视图控制器中设置选择器,就像我在其他 UIViewController 的 segues 中所做的那样。
还有其他人遇到过这个问题吗?
这是我的代码:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Set the title of navigation bar by using the menu items
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
UINavigationController *destViewController = (UINavigationController*)segue.destinationViewController;
if ([segue.identifier isEqualToString:@"goalSegue"]) {
if ([segue.destinationViewController respondsToSelector:@selector(setTitleForViewController:)]) {
// use performSelector:withObject: to send without compiler checking
// (which is acceptable here because we used introspection to be sure this is okay)
NSString * titleText = @"Athlete Goals";
[segue.destinationViewController performSelector:@selector(setTitleForViewController:) withObject:titleText];
} else destViewController.title = [[menuItems objectAtIndex:indexPath.row] capitalizedString];
} else destViewController.title = [[menuItems objectAtIndex:indexPath.row] capitalizedString];
}
我在其他视图控制器中的 prepareForSegue 中使用了此代码。选择器存在于目标 TableViewController 中,但 SWRevealViewController 跳过 if 语句而不执行。
【问题讨论】:
-
您能否详细说明一下您在哪里使用此代码?它是在您的后视图控制器中还是在某些前视图控制器中?
-
它位于带有菜单的tableView所在的rearViewController中。
-
您的目标视图控制器是否嵌入在导航视图控制器中?
-
是的,目标视图控制器是一个 TableViewController 与附加的视图 segues 链接到它。
标签: ios uiviewcontroller segue swrevealviewcontroller