2016-10-22 14 views
0

私はのUITableViewを追加したSideMenuでTabBarControllerでMFSideMenuを使用しています私は、セルをクリックしたときに、それは別のビューコントローラに移動しますが、そのそのビューコントローラに移動しないで特定のビューコントローラに移動しないMFSideMenu側のViewController Tabbarcontroller

AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 

centerViewController = [storyboard instantiateViewControllerWithIdentifier:@"Tabbarcontroller"]; 

TabViewController1 *tableView = [storyboard instantiateViewControllerWithIdentifier:@"TabViewController1"]; 
UINavigationController *nav1 = [[UINavigationController alloc] initWithRootViewController:tableView]; 


TabViewController2 *tableView2 = [storyboard instantiateViewControllerWithIdentifier:@"TabViewController2"]; 
UINavigationController *nav2 = [[UINavigationController alloc] initWithRootViewController:tableView2]; 


centerViewController.viewControllers = @[nav1,nav2]; 
UIViewController *leftSideMenuViewController = [storyboard instantiateViewControllerWithIdentifier:@"SideViewController"]; 

container = [MFSideMenuContainerViewController 
                containerWithCenterViewController:centerViewController 
                 leftMenuViewController:leftSideMenuViewController 
                 rightMenuViewController:nil]; 
     self.window.rootViewController = container; 
     [self.window makeKeyAndVisible]; 

    return YES; 

} 

SideMenu.m

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 


ViewController3 *objEdit =[self.storyboard instantiateViewControllerWithIdentifier:@"ViewController3"]; 

AppDelegate *objApp = (AppDelegate *)[[UIApplication sharedApplication]delegate]; 


UINavigationController *navigationController = (UINavigationController *) objApp.centerViewController.navigationController; 

NSLog(@"navigationcontroller :%@",objApp.centerViewController.navigationController); 

[navigationController pushViewController:objEdit animated:YES]; 

[self.menuContainerViewController setMenuState:MFSideMenuStateClosed]; 

} 

答えて

1

objApp.centerViewControllerはtabbarcontrollerなので、最初にtaborコントローラから選択したView Controllerを探す必要があります。選択したタブでコントローラを押す場合は、tabbarcontrollerのSelectedViewCOntrollerからNavigationControllerを取得する必要があります。

UINavigationController *navigationController = (UINavigationController *) objApp.centerViewController.selectedViewController; 

    [navigationController pushViewController:objEdit animated:YES]; 
+0

あなたの協力のおかげで、今何か愚かな間違いをしました。 – Rushabh

関連する問題