2

我将 UIAlertView 子类化,并覆盖该函数

[- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated];

在 IOS6 上,当我按下 Ok 按钮时会调用它;但在 IOS7 上,它不起作用;

为什么它不起作用?当我按下确定按钮时,我想检查输入[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 中的按钮时,它不会被调用。

4

1 回答 1

0

抱歉,您不能在 IOS 7 中继承 UIAlertView

因为我认为布局现在在 IOS 7 中发生了变化(我没有尝试过)

将您自己的视图设为 alertview ... 希望对您有所帮助

于 2013-11-04T06:52:37.567 回答