我在左侧滑动条上使用JTRevealSidebar V2和UITableView
。
我不知道如何通过发送消息来推送到其他ViewController。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if (self.sidebarDelegate) {
NSString *text = [self.leftList objectAtIndex:indexPath.row];
if ([text isEqual:@"Warenkorb"]) {
NSLog(@"Ist warenkorb");
// How to push/create/bring2top view of msCartViewController Identified by "Cart"?
// NSLog works
}
}
}
如何做到这一点?
答案 0 :(得分:1)
在rootviewcontroller中,您将分配一个新的UIViewController,然后将其推送到UINavigation堆栈。
例如:
UIViewController *myViewController = [[UIViewController alloc] init];
myViewController.title = @"My First View";
myViewController.view.backgroundColor = [UIColor redColor];
//to push the UIView.
[self.navigationController pushViewController:myViewController animated:YES];
请记住在根视图控制器中执行此操作! 希望这会有所帮助。
答案 1 :(得分:0)
也许,您的问题是如何从情节提要中获取实例,因为我看到您在情节提要中将msCartViewController称为“ Cart”。
或者也许您无法获得用于推送的导航控制器。
第一个问题
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil];
msCartViewController* vc=[storyboard instantiateViewControllerWithIdentifier:@"Cart"];
对于第二个问题,您需要将导航控制器指针存储到您可以访问的某个地方,例如在单例的dictionary属性中。就像
// at first make a singleton with a dictionary property. here I call it YourNavigationCenter
UINavigationController *navigationController = [YourNavigationCenter sharedCenter].navigationDictionary[@"yourNavigationName"];
[navigationController pushViewController:self animated:YES];
如果这些解决方案不能解决您的问题,请发表评论。