我有alertview,我有Yes和No选项。它看起来像下面。
使用的代码是
UIAlertView *confAl = [[UIAlertView alloc] initWithTitle:@"" message:@"Are you sure?" delegate:self cancelButtonTitle:@"Yes" otherButtonTitles:@"No", nil];
confAl.tag = 888;
[confAl show];
这很完美,但我希望是粗体而不是普通字体。
所以我切换了Yes和No按钮,如下所示。
使用的代码是
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(图片中的新风格)。
答案 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。