2013年8月4日日曜日

UIViewController : Strotyboardを使用して画面遷移する - モーダル表示 -

StoryboardでUIViewController(A)とUIViewController(B)を作成し、(A)にnextボタン、(b)にcloseボタンをつける。
nextボタンタップで(B)をモーダル表示し、closeボタンタップで(B)を閉じて(A)に戻る。

・(A)のnextボタンタップで(B)をモーダル表示
  1. Controlキーを押しながらUIViewController(A)のnextボタンからUIViewController(B)にドラッグ&ドロップする。
  2. Action Segue で push/modal/custom からmodalを選択する。(pushはUINavigationControllerにpushするときに使う。)
  3. segueができるので、クリックしてAttributes Inspector でsegueのIdentifierを入力する。
  4. (A)から(B)へデータを引き渡す時は prepareForSegue で行う。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"showNext"]) {
        NextViewController *nextViewController= [segue destinationViewController];
        nextViewController.data = data_;
    }
}

・(B)のcloseボタンタップで(B)を閉じて(A)に戻る
  1. Controlキーを押しながらUIViewController(B)のcloseボタンから.hファイルにドラッグ&ドロップしてActionをつける。(Name:didTapClose, Type:id, Event:Touch Up Inside, Arguments:Sender)
  2. .mファイルのdidTapCloseで dismissViewControllerAnimated:completion: をコールする。
- (IBAction)didTapClose:(id)sender {
     [[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];
}


0 件のコメント:

コメントを投稿