14

私はこのコードを持っています

 PlaceViewController *newView = [self.storyboard instantiateViewControllerWithIdentifier:@"PlaceView"];
 [self presentViewController:newView animated:YES completion:nil];

ビューを変更することもできますが、このページに戻ったときにこのビューをプッシュすると、状態が持続します。

私はこのコードを入れようとします:

[self.navigationController pushViewController:newView animated:YES];

しかし、何もしません。

ありがとう

4

5 に答える 5

41

目的 C:

PlaceViewController *newView = [self.storyboard instantiateViewControllerWithIdentifier:@"storyBoardIdentifier"];
[self.navigationController pushViewController:newView animated:YES];

以下の点にご注意ください。

  1. あなたのストーリーボード識別子は正しいです。

  2. ルート ビューにはナビゲーション コントローラーがあります。

迅速:

let newView = self.storyboard?.instantiateViewController(withIdentifier: "storyBoardIdentifier") as! PlaceViewController
self.navigationController?.pushViewController(newView, animated: true)
于 2014-05-28T08:59:57.217 に答える
6

ストーリーボードの場合、次performSegueWithIdentifierのように使用する必要があります。

 [self performSegueWithIdentifier:@"identifier goes here" sender:self];
于 2012-12-21T09:01:08.870 に答える
2

Swift 3.x

let viewController = storyboard?.instantiateViewController(withIdentifier: "storyboardIdentifier") as! UIViewController
navigationController?.pushViewController(viewController, animated: true)
于 2017-02-24T15:44:22.160 に答える
-1

デフォルトでは、Xcode は標準のビュー コントローラーを作成します。まず、View Controller を Navigation Controller に変更します。ステップ 1. メイン ストーリー ボードを選択 ステップ 2. Xcode アプリケーションの上部にある [エディタ] をクリックします。ステップ 3. [埋め込み] をクリックします。

Xcode は、View Controller を Navigation Controller に自動的に埋め込みます。

于 2016-03-08T08:53:38.870 に答える