私のiPhoneアプリにMFSideMenuを使用し てサイドバーを実装しています。サイドバーの実装に成功しました。私のappdelegeteで次のコードを使用して
- (ViewController *)demoController {
return [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
}
- (UINavigationController *)navigationController {
return [[UINavigationController alloc]
initWithRootViewController:[self demoController]];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
LeftSlideViewController *leftMenuViewController = [[LeftSlideViewController alloc] init];
MFSideMenuContainerViewController *container = [MFSideMenuContainerViewController
containerWithCenterViewController:[self navigationController]
leftMenuViewController:leftMenuViewController
rightMenuViewController:nil];
container.navigationController.navigationItem.rightBarButtonItem=nil;
self.window.rootViewController = container;
[self.window makeKeyAndVisible];
return YES;
}
今私の問題を説明しましょう..
UITablview がある LeftSideViewController というビュー コントローラー名があります。アプリケーションの起動時に、「ViewController」という名前の中央ビューとしてビュー コントローラーが 1 つあります。右側のビュー コントローラーは必要ないので、それを含めます。
現在、左サイドコントローラーに UITableview があり、その UITableview の行をクリックすると、中央のビューを変更する必要があります。
私の問題は、このコードを左側のView Controllerのuitableview delegeteメソッドに入れると、新しいView Controllerでcenterviewが変更されないためです。
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Load new front view
MFSideMenuContainerViewController *menuController = (MFSideMenuContainerViewController*)((AppDelegate*)[[UIApplication sharedApplication] delegate]).viewController;
PhotoGalleryViewController *SearchBarTableView=[[PhotoGalleryViewController alloc]initWithNibName:@"PhotoGalleryViewController" bundle:nil];
[self.navigationController pushViewController:SearchBarTableView animated:YES];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:SearchBarTableView];
menuController.centerViewController=navController;
//[menuController1 setRootController:navController animated:YES];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
左側のビューの UITableview 行のクリックに応じてビューを変更する方法を教えてください。