4

私は iOS プログラミング / Objective C の初心者です。

発生させたいイベントの流れは次のとおりです。ユーザーはタブバービューコントローラーからタブを選択します。VIEW A が読み込まれると、モーダル ウィンドウが開き、情報が表示されます。

VIEW A - (void)viewDidLoad

ModalYearPickerViewController *modalYearPickerViewController= [[ModalYearPickerViewController alloc] init];

[self presentViewController:modalYearPickerViewController animated:NO completion:nil];

年ピッカー ビューをすぐにロードして、ユーザーがピッカー (ビュー B) から年を選択し、値がビュー A に渡された後にモーダル ウィンドウを閉じることができるようにしようとしています。

これで、最初のビューが読み込まれ、自動的に黒い画面になります。modalYearPickerViewController のビュー コントローラーにピッカーなどがあるため、理由がわかりません。

モーダルView Controllerをプログラムでロードするためのヒントやヘルプをいただければ幸いです。

ありがとう!

4

2 に答える 2

8

If you are using storyboards :

UIStoryboard *storyBoard = [self storyboard]; 

This will return the storyboard of your current view controller. I am assuming your View Controller A is also on your storyboard.

ModalYearPickerViewController *modalYearPickerViewController  = [storyBoard instantiateViewControllerWithIdentifier:@"ModalYearPickerViewController"];

This will instantiate your view controller from the storyboard. But one other thing you have to do is set your view controllers storyboard id to ModalYearPickerViewController. You can set this right below where you set your custom view controller class in the storyboard.

[self presentViewController:modalYearPickerViewController animated:NO completion:nil];

and done.

于 2013-05-07T09:03:51.940 に答える
0

その viewContrioller の xib ファイルがある場合は、それもロードする必要があります。そのためには、次のように呼び出す必要があります。

ModalYearPickerViewController *modalYearPickerViewController = 
[[ModalYearPickerViewController alloc] initWithNibName:@"ModalYearPickerViewController" bundle:nil];
于 2013-05-06T20:30:31.207 に答える