5

現在、ボタンがタップされると、UIModalPresentationSheet が表示されます。上にスライドしたときに、この上部にナビゲーション バーを追加したいと考えています。私は多くのことを試しましたが、何もうまくいかないようです。これが私が現在試していることで、このエラーが返されます。

    AthleteAdd *addAthlete = [self.storyboard instantiateViewControllerWithIdentifier:@"addAthlete"];
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:addAthlete];
    //[self.navigationController pushViewController:addAthlete animated:YES];

    addAthlete.delegate = self;
    addAthlete.modalPresentationStyle = UIModalPresentationFormSheet;
  //  UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:addAthlete];
    [self presentViewController:navigationController animated:YES completion:nil];

しかし、モーダルプレゼンテーションシートフォームなしで、モーダルに押し上げます。ナビゲーション コントローラーのサイズが正しくなるようにするにはどうすればよいですか?

4

3 に答える 3

12

次のようにコードを変更してみてください。

    AthleteAdd *addAthlete = [self.storyboard instantiateViewControllerWithIdentifier:@"addAthlete"];
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:addAthlete];

    addAthlete.delegate = self;
    navigationController.modalPresentationStyle = UIModalPresentationFormSheet;


    [self presentViewController:navigationController animated:YES completion:nil];

ここでは、自分自身から提示しようとするaddAthleteからです。したがって、このエラーが発生します。

于 2013-10-04T13:52:15.970 に答える
4

addAthlete を入れた navigationController を提示する必要があります。

[self presentViewController:navigationController animated:YES completion:nil];
于 2013-10-04T13:52:13.563 に答える
0

現在のビューコントローラー自体から提示しています。

次のようなものを試してください、

[self dismissViewControllerAnimated:YES completion:^{
   [self.parentViewController presentViewController: navigationController animated:YES completion:nil];
}];
于 2013-10-04T13:55:26.213 に答える