2011-01-31 2 views
1

私はiPhoneアプリケーションを開発する際に新しいです。私が今書きたいアプリケーションはとても簡単です。これはUIViewControllerを変更する良い方法ですか?

"画面"が必要です。これを行うために、私はUIViewControllerの両方のサブクラスを作成しました。最初のボタンにはボタンがあり、押されたら2番目の画面に変更したい。これを行うには、共有AppDelegateオブジェクトにメッセージを送信し、私のウィンドウ内のビューを変更したい。

おそらく重要です: 最初の画面は、接続先のサーバーのIPアドレスを入力するために使用されます。したがって、この画面はアプリケーションで1回だけ表示されます

私は正しい方法ですか?あなたが探している

+2

あなたのアプリにナビゲーションコントローラを使用していますか?つまり、UINavigationController、UITabBarController)ですか? – DerekH

+0

いいえ、現時点ではありません。最初に基本を理解したい – Andrew

答えて

1

は、他の人がすでに追加されているものと一緒に行きます。アップルの「View Controller Programming Guide」でご覧ください。ビューを管理するための良い洞察を提供し、そうするためのさまざまな方法の例を提供します(プッシュ、モーダルなど)。

EDIT

あなたは時間(ノースタック、無モーダル)で1つのビューを表示したいのように聞こえるので、あなたが本当にあなたのビューコントローラを整理するためUITabBarControllerをご覧ください。これにより、簡単に切り替えることができます。 Hereを設定する方法について詳しくは、「タブバー」セクションまでスクロールする必要があります。希望が助けてくれる!

+0

私はすでにこれを読んでいます。しかし、私はちょうど現在のビューコントローラを他のビューコントローラに置き換えることができるかどうかはわかりません。そしてもし私がすることができます - これを行う方法? – Andrew

+0

あなたは、IPアドレスの入力が「アプリケーション設定」セクションの何かであり、もう1つが実際のアプリケーションであることを要求するViewControllerを考えていますか? – DerekH

+1

おそらく。しかし、私はまだ知ってほしいのは、単に別のviewControllerを置き換えることは可能ですか? – Andrew

3

APIは、両方のUIViewControllerにあります

- [UIViewController presentModalViewController:animated:]; 

- [UIViewController dismissModalViewController:animated:]; 
+0

最初の画面は1回だけ表示する必要があるので、私はモーダル表示を望んでいません。 – Andrew

+1

その場合は、2番目のView Controllerから始め、最初のものをモーダルとして提示することをお勧めします。 –

2

それはULLプッシュ場合は良くなるとナビゲーションにviewControllersをポップアップ表示されます。
コード例:

-(IBAction) CallNumberClicked 
{ 
    static DialNumberViewController *viewController=nil; 
    if(viewController==nil) 
     viewController=[[DialNumberViewController alloc] initWithNibName:@"DialNumberViewController" bundle:nil]; 
    [self.navigationController pushViewController:viewController animated:YES]; 
    } 
0

私のやり方は、プロトコルとコールバックです。現在のViewControllerは元のViewControllerを呼び出し、元のViewControllerは「現在の」ViewControllerを解放します。

関連する問題