Подтвердить что ты не робот

Как сделать несколько строк с выравниванием по левому краю UIAlertView?

Я заинтересован в создании выровненного по левому краю UIAlertView с несколькими строками, такими как список бюллетеней, который будет выглядеть следующим образом:

  • строка 1
  • строка 2
  • строка 3

Вот что я до сих пор:

alert = [[UIAlertView alloc] initWithTitle: @"How to use buttons"
                                   message: @"line 1. line 2, line 3 "
                                  delegate: nil
                         cancelButtonTitle: @"OK"
                         otherButtonTitles: nil];

Я также хочу изменить цвет представления предупреждения на красный.

4b9b3361

Ответ 1

Пули представлены кодом Unicode 0x2022. Я получил это, чтобы работать так, используя "\n" для новых строк:

UIAlertView *alert = [[UIAlertView alloc]
            initWithTitle: @"How to use buttons"
            message: [NSString stringWithFormat: @"%C line 1.\n %C line 2,\n %C line 3", (unichar) 0x2022, (unichar) 0x2022, (unichar) 0x2022];
            delegate: nil
            cancelButtonTitle:@"OK"
            otherButtonTitles:nil];

Это должно работать на пули.

Для выравнивания по левому краю сделайте следующее:

NSArray *subViewArray = alertView.subviews;
for(int x = 0; x < [subViewArray count]; x++){

    //If the current subview is a UILabel...
    if([[[subViewArray objectAtIndex:x] class] isSubclassOfClass:[UILabel class]]) {
        UILabel *label = [subViewArray objectAtIndex:x];
        label.textAlignment = NSTextAlignmentLeft;
    }
}

Итак, вкратце:

  • "\n" для отображения новых строк.
  • [NSString stringWithFormat:@"%C Line n", (unichar) 0x2022]; для пуль.
  • Для выравнивания, выполните итерацию в подзонах представления предупреждения и определите, какие подпункты являются подклассами UILabel. Затем измените выравнивание текста меток на выравнивание слева, используя label.textAlignment = NSTextAlignmentLeft.
  • После того, как вы выполните all, вы можете позвонить [alert show];.

Ответ 2

для выравнивания влево:

 NSArray *subviewArray = alert.subviews;
for(int x = 0; x < [subviewArray count]; x++){

    if([[[subviewArray objectAtIndex:x] class] isSubclassOfClass:[UILabel class]]) {
        UILabel *label = [subviewArray objectAtIndex:x];
        label.textAlignment = UITextAlignmentLeft;
    }

Чтобы отобразить красный фон за предупреждением:

alert.backgroundColor=[UIColor redColor];

Ответ 3

Убедитесь, что вы используете \, а не обычный /.

alt + shift + 7 (на моей клавиатуре)

\ п

Это должно сделать это.: -)

Ответ 4

Вы можете создать новую строку, вставив \n в ваше сообщение. Например:

@"line 1.\nline 2,\nline 3"

Ответ 5

Для новой строки и выравнивания текста предпочитаем отвечать @qegal на то, что один из них идеально подходит, но если вы хотите изменить цвет или настроить представление предупреждения, я получил один класс, который можно использовать вместо системного оповещения просто проверьте этот, это определенно будет работать. даже это также поможет вам получить многострочное сообщение с выравниванием и маркированным списком.

Если вы обнаружили какие-либо проблемы с его использованием, попросите о помощи, я обязательно помогу вам.

Счастливое кодирование:)