UIActionSheetとUIAlertView

この記事は2012年2月9日に書かれたものです。
現在は内容が古い可能性が高いのでご注意ください。

この二つを連続して使う時に、delegateメソッド内で次を表示させる動きにつなげちゃうとうまく閉じなくなってしまって固まったので、performSelector: を使って遅延実行させてやることに。

具体的には、

-(void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    // (省略)
    UIActionSheet *as = [[UIActionSheet alloc] init];
    as.delegate = self;
    as.title = @"title";
    [as addButtonWithTitle:@"OK"];
    [as showInView:self.view];
}

とかやった場合。ここだけ別の関数にしてperformSelector:

シェアする

フォローする