0

我有一个与“showAlert”方法链接的按钮的简单视图。当我单击此按钮时,它会显示一个 UIAlertView。

之前,使用 ios 6,我使用以下代码禁用 UIAlertView 按钮:

- (IBAction)showAlert:(id)sender
{
    myAlert = [[UIAlertView alloc] initWithTitle:@"" message:@"" delegate:self cancelButtonTitle:@"Retour" otherButtonTitles:@"Button1", @"Button2", @"Button3", @"Button4", nil];
    [myAlert show];

    for(UIView *aView in myAlert.subviews)
    {
        if ([[[aView class] description] isEqualToString:@"UIAlertButton"])
        {
            UIButton *aButton = (UIButton *)aView;
            if ([aButton.titleLabel.text isEqualToString:@"Button2"])
                aButton.enabled = NO;
        }
    }
}

现在,使用 ios 7,它不起作用......为什么?

4

3 回答 3

1

由于iOS7无法添加或操作子视图或 a UIAlertView,您需要创建自己的,抱歉。

UIView创建您自己的子类UIAlertView或使用第 3 方库。

于 2013-10-10T09:33:23.033 回答
0

从 iOS 7 中添加子视图UIAlertView是不可能的。

唯一的方法是使用UIView可以充当UIAlertView.

Github这个答案可能会为您提供解决方案。

于 2013-10-10T10:21:36.150 回答
0

您可以使用委托方法禁用UIAlertView的第一个其他按钮

-(BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
{
    return NO;
}

也适用于 ios 7。

于 2013-10-10T11:44:20.973 回答