2012-02-22 16 views
2

私はカレンダーのようなイベントを追加できるインターフェースを構築しています。 AddAEventViewControllerには、開始時刻、継続時間、および繰り返しを設定するボタンがあります。 ボタンを押すたびに、ビューコントローラーにUIDatePickerが表示されます。そこでは時間を設定できます。選択されたコンポーネントは、UITextFieldで表示されます。今度は完了ボタンを押すと、ModalViewControllerが終了し、私はAddAEventViewControllerに戻ります。例:Durationボタンの横。 UILabelです。ここではちょうど選択されたテキストフィールドと、表示されるテキストフィールドに表示されます。 他のViewControllerからAddEventViewControllerにアクセスするにはどうすればよいですか?私はそこに新しいものを割り当てて初期化しようとしましたが、それは動作しませんでした!UITextFieldのテキストをUILabelに表示する方法は?

- (IBAction)pressedDoneButton:(id)sender { 

_mainAddWishViewController.labelDuration.text=textFieldDuration.text; 

[self dismissModalViewControllerAnimated:YES]; 

}

誰かが私を助けてくださいことができます! ジュールありがとうございます

答えて

1

これはいくつかの方法があり、すべてがhereと記載されています。それらを読んで理解することは、iOSソフトウェア開発に多くの助けになります。

1

これを達成する方法はたくさんあります。ここにはかなり簡単なものがあります。

"子" viewControllerでは、デリゲートプロパティを追加し、それを親ビューコントローラに設定します。あなたの完了ボタンハンドラで次に

、ような何か:次のようにメソッドを定義し、親ビューコントローラで

[self.delegate performSelector:@selector(didComplete) withObject:self] 

を:

- (void) didComplete: (YourSubViewControllerClass *) sender 
{ 
    self.labelDuration.text = sender.textFieldDuration.text 
} 

それによって基本的に、これは非公式のプロトコルを実装subViewControllerは、終了して入力値が利用可能であることをメインビューコントローラに通知します。

subViewControllerをキャンセルする場合は、didCompleteメッセージを送信しないでください。

関連する問題