7

formSheetユーザーがユニバーサルアプリのiPad側のナビゲーションバーにある[設定]ボタンをタップしたときに、viewControllerをとして表示する必要があります。ビューは「SettingsViewController」と呼ばれ、「settings」のIDを持つiPadストーリーボードのViewControllerです。

私のiPadバージョンのアプリでは、左側のナビゲーションバーに複数のボタンがあるため、セグエを使用していません。そのため、ボタンをプログラムで追加する必要があります。(ストーリーボードに存在しないUIBarButtonItemにセグエを接続することはできません。)

私が欲しい機能はそこにありますが、プレゼンテーションはありません。iPadで自分SettingsViewControllerのを表示すると、全画面表示で表示されます。フォームシートである必要があります。

私はそれをで包んでいますNavigationController、それは私が必要とし、うまく機能します、ただそれが正しい方法でそれ自身を提示する必要があります。

ビューを表示するコードは次のとおりです。

-(void)showSettings:(id)sender {

    SettingsViewController *svc = [self.storyboard instantiateViewControllerWithIdentifier:@"settings"];
    svc.delegate = self;
    svc.modalPresentationStyle = UIModalPresentationFormSheet;
    UINavigationController *navcont = [[UINavigationController alloc] initWithRootViewController:svc];
    [self presentViewController:navcont animated:YES completion:NULL];

}

私は考えられるすべてを試しました。どんな助けでも深く感謝します。

4

2 に答える 2

24

モーダル プレゼンテーション スタイルをオンに設定しているように見えますSettingsViewControllerが、UINavigationController.

于 2012-12-14T03:02:40.323 に答える
6
navcont.modalPresentationStyle = UIModalPresentationFormSheet;
于 2014-12-22T08:22:53.207 に答える