Arhn - архитектура программирования

Настроить кнопку uialertcontroller ios

Есть ли способ настроить buttons из uialertcontroller? Я видел, как настроить шрифт, размер и цвет, но не могу добавить фоновое изображение или цвет кнопки uialertcontroller.

    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil
                                                                         message:nil
                                                                  preferredStyle:UIAlertControllerStyleAlert];
UIViewController *v = [[UIViewController alloc] init];
v.view.backgroundColor = [UIColor cyanColor];

[alertController setValue:v forKey:@"contentViewController"];

UIAlertAction *selectImage = [UIAlertAction
                                actionWithTitle:@"First Button"
                                style:UIAlertActionStyleDefault
                                handler:^(UIAlertAction *action){

                                    NSLog(@"First Button");

                                }];

[alertController addAction:selectImage];

UIAlertAction *addImage = [UIAlertAction
                                 actionWithTitle:@"Second Button"
                                 style:UIAlertActionStyleDefault
                                 handler:^(UIAlertAction *action) {

                                     NSLog(@"Second Button");

                                 }];
[alertController addAction:addImage];

alertController.view.tintColor = [UIColor redColor];

UIView *subView = alertController.view.subviews.firstObject;
UIView *alertContentView = subView.subviews.firstObject;
[alertContentView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"image.png"]]];

alertContentView.layer.cornerRadius = 5;

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

Пожалуйста, предложите, есть ли способ установить фоновое изображение кнопок.


  • используйте некоторую пользовательскую библиотеку или создайте собственное представление для настройки. 19.01.2016
  • вы смотрели в stackoverflow.com/questions/ 26347085/ ? 19.01.2016

Ответы:


1

Вы можете добавить дополнительное изображение:

UIAlertAction *selectImage = [UIAlertAction
                            actionWithTitle:@"First Button"
                            style:UIAlertActionStyleDefault
                            handler:^(UIAlertAction *action){

                                NSLog(@"First Button");

                            }];

[alertController addAction:selectImage];

UIImage *image = [UIImage imageNamed:@"Image.jpg"];
[selectImage setValue:image forKey:@"image"];

Кроме того, как уже упоминалось, вы можете создать собственное представление и переопределить touchesEnded.

19.01.2016
  • Спасибо за попытку. Я видел это раньше. Не могли бы вы объяснить, что такое image ключ здесь [selectImage setValue:image forKey:@"image"] 20.01.2016
  • @arnab-hore Этот ключ не раскрывается через свойство, но его можно найти в заголовках среды выполнения github.com/devSC/iOS-Runtime-Headers/blob/master/Frameworks/ 20.01.2016

  • 2

    Попробуйте приведенный ниже код, это полезно для вас.

    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:@"addusergroup.png"];
    [button setValue:accessoryImage forKey:@"image"];
    [self presentViewController:alertVC animated:YES completion:nil];
    
    19.01.2016
  • Спасибо за попытку. Я тоже пробовал это. Не могли бы вы объяснить, что такое image ключ здесь [button setValue:accessoryImage forKey:@"image"] 20.01.2016
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..