0

サイドメニューのフレームワークである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中央のビュー コントローラーを元に戻し、サイド メニューを再び非表示にします。サイド メニューに中央のビュー コントローラーへの参照を指定しました。これを使用して、新しいビュー コントローラーをプッシュするように依頼します。ただし、このメソッドが呼び出されると、中央のビュー コントローラーが表示された後は何も起こりません。なぜこれがうまくいかないのか誰にも分かりますか?

4

1 に答える 1