2015-04-01 5 views
3

https://www.safaribooksonline.com/library/view/ios-8-swift/9781491908969/images/ispc_0113.pngКак изменить размер шрифта и цвет UIAlertAction в UIAlertController

В изображении выше, как изменить размер шрифта и цвет «Done», «другое действие»? и как изменить размер и цвет шрифта «title» и «message»?

спасибо.

+1

возможный дубликат [UIAlertController пользовательского шрифта, размер, цвет] (HTTP: // StackOverflow. com/questions/26460706/uialertcontroller-custom-font-size-color) – picciano

+0

проверить это решение http://stackoverflow.com/a/27518769/2050181 –

+0

проверить это решение http://stackoverflow.com/questions/26460706/uialertcontroller -custom-font-size-color/41299305 # 41299305 –

ответ

6

Это из другого переполнения стека, но, похоже, работает нормально. Post found here.

UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"Dont care what goes here, since we're about to change below" message:@"" preferredStyle:UIAlertControllerStyleActionSheet]; 
NSMutableAttributedString *hogan = [[NSMutableAttributedString alloc] initWithString:@"Presenting the great... Hulk Hogan!"]; 
[hogan addAttribute:NSFontAttributeName 
      value:[UIFont systemFontOfSize:50.0] 
      range:NSMakeRange(24, 11)]; 
[alertVC setValue:hogan forKey:@"attributedTitle"]; 



UIAlertAction *button = [UIAlertAction actionWithTitle:@"Label text" 
            style:UIAlertActionStyleDefault 
            handler:^(UIAlertAction *action){ 
               //add code to make something happen once tapped 
}]; 
UIImage *accessoryImage = [UIImage imageNamed:@"someImage"]; 
[button setValue:accessoryImage forKey:@"image"]; 

Чтобы изменить цвет текста со следующими, добавляя его до установки линии [alertVC SetValue: Хоган forKey: @ "attributedTitle"];

[hogan addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0,35)]; 
+0

И вы получите краш, пытающийся установить значение для неопределенного ключа на некоторых версиях ios (не r emember, который). Вы также должны переопределить 'setValue: forUndefinedKey:' и 'valueForUndefinedKey:' для UIAlertAction, к которому вы пытаетесь установить изображение. – vahotm

4

изменение цвета действие в UIAlertController

SEL selector = NSSelectorFromString(@"_alertController"); 
if ([actionSheet respondsToSelector:selector]) 
{ 
    UIAlertController *alertController = [actionSheet valueForKey:@"_alertController"]; 

    if ([alertController isKindOfClass:[UIAlertController class]]) 
    { 
     NSArray *arr = alertController.actions; 
     for (int i = 0; i <arr.count; i ++) { 
      UIAlertAction *alertAction = [arr objectAtIndex:i]; 
      if ([alertAction.title isEqualToString:@"Logout"]) { 
       UIColor *color = [UIColor redColor]; 
       [alertAction setValue:color forKey:@"titleTextColor"]; 
      } 
     } 
    } 
0

Я не был в состоянии изменить шрифт, но вы можете изменить цвет шрифта. На примере 'Хоган', изменяя цвет шрифта на UIAlertAction:

[button setValue:[UIColor greenColor] forKey:@"titleTextColor"]; 
1

Просто нравится этот

UIAlertAction * action = [UIAlertAction actionWithTitle:@"ACTION TITLE" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 

     // TODO : ACTION 
    }]; 

    [action setValue:[UIColor redColor] forKey:@"titleTextColor"]; 
    [alertController action]; 
Смежные вопросы