Hatena::Groupiphone-dev

iPhoneアプリ開発まっしぐら★ このページをアンテナに追加 RSSフィード

引っ越し後の日記はコチラです

tokoromのその他の日記

2009-09-15

UIAlertViewと画面回転

12:19 | はてなブックマーク -  UIAlertViewと画面回転 - iPhoneアプリ開発まっしぐら★

参考にさせていただいているまーべるさんの「Programmer’s High」で、

> UIAlertViewの表示中に端末を回転すると、いったんアラートが消えて回転後に再表示されます。

というエントリがありました。

気にかかっていたので再現確認してみたのですが、今のところ、OS3.0/OS3.1どちらでも確認できていません。OS2.Xのときの話なのかな?

このあたり、どなたか情報をお持ちでしたら、是非ご教授を!


※追記

ちなみに、電源キー押下でアプリをスリープさせたら、alertView:didDismissWithButtonIndex:が呼ばれました。

また、ホームボタンでアプリを終了させるときには、alertViewCancel:が呼ばれます。


以下、試したコードのUIViewControllerの実装部分です。

- (void)viewDidAppear:(BOOL)animated {
  [super viewDidAppear:animated];

  UIAlertView* alert = [[[UIAlertView alloc] init] autorelease];
  alert.delegate = self;
  alert.message = @"UIAlertViewと画面回転のテスト";
  [alert addButtonWithTitle:@"Cancel"];
  [alert addButtonWithTitle:@"OK"];
  alert.cancelButtonIndex = 0;
  [alert show];
}

- (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
  if ( buttonIndex != alertView.cancelButtonIndex ) {
    NSLog( @"pushed OK button." );
  } else {
    NSLog( @"pushed Cancel button." );
  }
}

- (void)alertView:(UIAlertView*)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
  NSLog( @"didDismissWithButtonIndex" );
}

- (void)alertView:(UIAlertView*)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex {
  NSLog( @"willDismissWithButtonIndex" );
}

- (void)alertViewCancel:(UIAlertView*)alertView {
  NSLog( @"alertViewCancel" );
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
  return TRUE;
}