1

UITableView在左侧滑动条上使用 JTRevealSidebar V2。

我不知道如何通过发送消息推送到其他 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
        }
    }
}

如何才能做到这一点?

4

2 回答 2

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];

请记住在您的根视图控制器中执行此操作!希望这可以帮助。

于 2013-03-12T21:41:42.270 回答
0

也许,您的问题是如何从情节提要中获取实例,因为我看到您在情节提要中将您的 msCartViewController 称为“Cart”。

或者,也许您无法让导航控制器进行推送。

对于第一个问题

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil];
msCartViewController* vc=[storyboard instantiateViewControllerWithIdentifier:@"Cart"];

对于第二个问题,您需要将导航控制器指针存储到您可以访问的某个位置,例如在单例中的字典属性中。就像

// 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];

如果这些解决方案没有抓住你的意思,请发表评论。

于 2018-06-21T03:34:01.813 回答