サイドメニューのフレームワークであるViewDeckMenuViewController
内にUINavigationController
座っています。次のように開始するだけです。
ListingViewController* lvc = [[ListingViewController alloc] init];
UINavigationController* homeNavStack = [[UINavigationController alloc] initWithRootViewController:lvc];
MenuViewController* sideMenu = [[MenuViewController alloc] init];
IIViewDeckController* slideController = [[IIViewDeckController alloc] initWithCenterViewController:homeNavStack leftViewController:sideMenu];
中央のビュー コントローラーはナビゲーション コントローラーで、メニュー ビュー コントローラーは左側に隠されています。表示するには左にスライドする必要があります (Facebook のサイド メニューに似ています)。
サイド メニューにはボタンがあり、これを押すと、アプリをナビゲーション コントローラーに戻し、新しいビュー コントローラーをプッシュする必要があります。これが私のコードですMenuViewController.m
。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if(indexPath.row == 0){
NSLog(@"check");
UserProfileViewController* userProfile = [[UserProfileViewController alloc] init];
[self.viewDeckController toggleLeftViewAnimated:YES];
[self.centerViewController pushViewController:userProfile animated:YES];
}
}
toggleLeftViewAnimated
中央のビュー コントローラーを元に戻し、サイド メニューを再び非表示にします。サイド メニューに中央のビュー コントローラーへの参照を指定しました。これを使用して、新しいビュー コントローラーをプッシュするように依頼します。ただし、このメソッドが呼び出されると、中央のビュー コントローラーが表示された後は何も起こりません。なぜこれがうまくいかないのか誰にも分かりますか?