2

私のiPadアプリで。に取り組んでいUISplitViewControllerます。のDetailViewControllerUISplitViewControllerにボタンがあります。そのボタンが押されると、別のView Controllerに移動します。別のView Controllerでは、する必要はありませんUISplitViewController。却下する方法UISplitViewController。私はたくさん試してみましたが、解決策は見つかりませんでした。それは私の時間を殺しているので、誰かがそれに取り組んでいるなら、私を導き、サンプルコードを投稿してください.

私はこのコードを使用しています

-(void)imgButtonpressed:(id)sender
{
    MenuItemsListViewController *menuview=[[MenuItemsListViewController alloc]initWithNibName:@"MenuItemsListViewController" bundle:nil];

    menuview.modelArray = imagesArray;
    menuview.image = [sender tag]*2;
    [self.navigationController pushViewController:menuview animated:YES];

}
4

2 に答える 2

-1

UISplitViewを使用しているときに同じ問題が発生しました。実際、rootviewcontrollerの上にsplitviewをプッシュする方法をついに理解したとき、私はまだ問題を抱えています。

ですから、この問題に不満を持っている初心者はたくさんいると思います。私はここをたくさん読んで解決策を見つけようとしました。

これが私がすることです(他のビューでも同じことができます):

これにより、分割ビューが閉じられ、別の分割ビューがプッシュされます。

SplitViewController *split = [[SplitViewController alloc]init];
    self.leftController = [[LeftViewController alloc]init];
    UINavigationController *leftNav = [[UINavigationController alloc]initWithRootViewController:leftController];
    self.rightController = [[RightViewController alloc]init];
    UINavigationController *rightNav = [[UINavigationController alloc]initWithRootViewController:rightController];
    split.viewControllers = [NSArray arrayWithObjects:leftNav,rightNav, nil];
    split.delegate = self.rightController;

    YourAppDelegate *delegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];
    delegate.window.rootViewController = split;

そして2番目のオプションは:

NSMutableArray *allViewControllers = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];

    [allViewControllers replaceObjectAtIndex:0 withObject:split];
    self.navigationController.viewControllers = allViewControllers;

うまくいけば、これは同じ問題に遭遇した他の人の助けになるでしょう。

乾杯!

于 2013-03-15T07:00:18.963 に答える
-2

Appleは、スプリットビューコントローラをナビゲーションコントローラにプッシュすることを望んでいません。彼らのガイドラインによると、UISplitViewControllerを使用する場合は、モーダルビューコントローラーでオーバーレイする場合を除いて、アプリで常に表示する必要があります(したがって、削除することはできません)。

ビューコントローラをモーダルに表示するのはどうですか?

MenuItemsListViewController *menuview=[[MenuItemsListViewController alloc]initWithNibName:@"MenuItemsListViewController" bundle:nil];

menuview.modalPresentationStyle = UIModalPresentationFullScreen;
[self.splitViewController presentViewController:menuview animated:YES completion:nil];

ソース:UISplitVIewControllerをUINavigationControllerにプッシュするにはどうすればよいですか

于 2013-02-19T13:30:19.470 に答える