UIAlertView をサブクラス化し、関数をオーバーライドします
[- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated];
IOS6 では、[OK] ボタンを押すと呼び出されます。しかし、IOS7 では機能しません。
なぜ機能しないのですか?OKボタンを押すと[alertView textFieldAtIndex:0]
、入力が真かどうかを確認したい。そうでない場合、alertView は閉じられず、alertView に揺れるアニメーションを追加します。この効果を実感するにはどうすればよいですか?
ありがとうございました
次のように関数をオーバーライドします。
// Override to customise when alert is dimsissed
- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated {
if (_shakingDelegate && [_shakingDelegate respondsToSelector:@selector(alertView:canDismissWithClickedButtonIndex:)]) {
BOOL canDismiss = YES;
canDismiss = [_shakingDelegate alertView:self canDismissWithClickedButtonIndex:buttonIndex];
if (canDismiss) {
[super dismissWithClickedButtonIndex:buttonIndex animated:animated];
}
}
}
IOS 7 でボタンを押しても呼び出されません。