-1

ストーリーボードを使用してアプリを作成しました。2 つのビュー コントローラーがあり、最初のビューまたは初期ビューは UnifeyeMobileViewController で、2 番目のビュー コントローラーは SecondViewController と呼ばれます。どちらも、ナビゲーション ビュー コントローラー内のセグエを介して接続されています。SecondViewController には 2 つのボタンがあります。secondViewController 内の最初のボタンの IBAction で、以下のコードを実行しようとしています。

ストーリーボードの代わりに XIB を使用していた以前のバージョンの xcode の既存のアプリから以下のコードを利用しようとしていますが、以下のコードはストーリーボードでは機能せず、presentModelViewController ステートメントでエラー メッセージが生成されます。

UnifeyeMobileHelloWorld* unifeyeMobileViewController = [[UnifeyeMobileHelloWorld alloc] initWithNibName:@"UnifeyeMobileViewController" bundle:nil];
unifeyeMobileViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[viewController presentModalViewController:unifeyeMobileViewController animated:YES];
[unifeyeMobileViewController release];

UnifeyeMobileHelloWorld は、ここでプログラムで生成しているビューコントローラーです。UIViewController の file->new->file->objective C クラス サブクラスから UIController クラスをインポートしました。このファイルに UnifeyeMobileHelloWorld という名前を付けました。実装ファイルに機能を追加しました。

4

2 に答える 2

0

編集:アクションなしメソッド:

上記のコメントに貼り付けたエラーは、問題が実際には別の場所にあることを示しています。押しているボタンは、セレクターを使用してSecondViewControllerにメッセージを送信するように構成されています。SecondViewControllerには、btnHelloWorld:そのセレクターのメソッドがありません。これは、メソッドの名前を変更し、ストーリーボードから新しいメソッドにボタンを再接続しない場合に発生する可能性があります。したがって、ストーリーボードを開き、ボタンからSecondViewControllerの適切なアクションメソッドにCtrlキーを押しながらドラッグします。

元の答え:

(上記の会話から)XIBファイルをコピーするか、XIBのコンテンツをストーリーボードに移動して最新のトランジション手法(ドラッグアンドドロップのセグエトランジション)を使用する必要があるようです。

ビューコントローラを使用する方法で使用するには、次の3つのファイルが必要です。

  1. .h
  2. 彼ら
  3. .xib(または.nib)

あなたのケースでは#3が欠落しているように見えます。これは、ViewControllerのサブビューをレイアウトし、それらの接続を初期化するために必要です。少なくとも、*ibファイルを必要とする'initWithNibName:`を呼び出すために必要です。

于 2012-07-13T23:34:37.647 に答える
0

では、2 番目のビュー コントローラーから最初のビュー コントローラーへのモーダル セグエを作成しようとしていますか? 最初のセグエ (UnifeyeMobileHelloWorld) から 2 番目のセグエへのモーダル セグエを 1 つだけ持つ方が理にかなっています。次に、誰かが送り返したいボタンを押したら、電話をかけることができます

[self dismissModalViewControllerAnimated:YES];//または必要に応じていいえ

これがアプリのデザインの残りの部分に適合するかどうかは不明です。2 番目のビューの後にさらにビューがある場合は、UnifeyeMobileHelloWorld から 2 番目のビューへのプッシュ セグエにしてください。上部のナビゲーション バーに [戻る] ボタンが表示されます。自動的。

于 2012-07-13T23:27:02.457 に答える