如何更改UIAlertController UIAlertAction颜色并添加Checkmark Sign?

时间:2017-09-06 12:04:17

标签: ios uialertcontroller uialertaction

我想更改UIAlertController UIAlertAction TextColor并在用户选择操作时显示Checkmark图像。

我能够显示正常UIAlertController。但我怎么能实现这个目标呢?

任何人都可以建议我或帮助我这样做吗? 感谢

2 个答案:

答案 0 :(得分:0)

覆盖UIAlertAction textcolor是不可能/不可取的。您将必须创建自己的视图并根据您的需要呈现它。有一些第三方库可以帮助您实现您想要的。

答案 1 :(得分:-1)

试试这个没有必要使用任何第三方库

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];

    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", @"Cancel action") style:UIAlertActionStyleCancel handler:^(UIAlertAction *action){
        NSLog(@"Cancle Tapped");
        [alertController dismissViewControllerAnimated:YES completion:nil];
    }];

    [alertController addAction:cancelAction];

    UIAlertAction *yesAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"YES", @"YES action") style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){
        NSLog(@"Yes Button Tapped");
    }];

    // Add CheckMark And Change CheckMark Color
    [yesAction setValue:YOUR_COLOUR forKey:@"titleTextColor"];
    [yesAction setValue:YOUR_COLOUR forKey:@"imageTintColor"];

    [alertController addAction:yesAction];

    UIAlertAction *noAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"NO", @"NO action") style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){

    }];

    // Add CheckMark And Change CheckMark Color
    [noAction setValue:YOUR_COLOUR forKey:@"titleTextColor"];
    [noAction setValue:YOUR_COLOUR forKey:@"imageTintColor"];
    [alertController addAction:noAction];

    [self presentViewController:alertController animated:YES completion:nil];

如果你想默认设置任何带CheckMark的按钮而不是添加它。

[yesAction setValue:@true forKey:@"checked"];