设置uialertview是按钮加粗,没有按钮正常

时间:2014-01-27 11:17:13

标签: ios objective-c button uialertview

我有alertview,我有Yes和No选项。它看起来像下面。

enter image description here

使用的代码是

UIAlertView *confAl = [[UIAlertView alloc] initWithTitle:@"" message:@"Are you sure?" delegate:self cancelButtonTitle:@"Yes" otherButtonTitles:@"No", nil];
confAl.tag = 888;
[confAl show];

这很完美,但我希望是粗体而不是普通字体。

所以我切换了Yes和No按钮,如下所示。

enter image description here

使用的代码是

UIAlertView *confAl = [[UIAlertView alloc] initWithTitle:@"" message:@"Are you sure?" delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes", nil];
confAl.tag = 888;
[confAl show];

有没有什么方法可以让Yes作为第一个按钮而No作为第二个按钮,Yes是粗体效果?

注意: 我想在iOS 6中使用相同的效果(相同的旧样式)& iOS 7(图片中的新风格)。

2 个答案:

答案 0 :(得分:22)

您可以使用preferredAction的{​​{1}}默认属性代替UIAlertController

UIAlertView

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"alert" message:@"My alert message" preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction* yesButton = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) { [alertController dismissViewControllerAnimated:YES completion:nil]; }]; UIAlertAction* noButton = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) { [alertController dismissViewControllerAnimated:YES completion:nil]; }]; [alertController addAction:noButton]; [alertController addAction:yesButton]; [alertController setPreferredAction:yesButton]; 会将您的按钮标题设置为粗体。

答案 1 :(得分:5)

您的要求是“突出显示”是按钮..在iOS 7中,默认情况下,取消按钮是突出显示的按钮。不幸的是,你不能在这里简单地改变alertViewStyle。但你确实有一个解决方法。

请看this answer