Как сделать несколько строк с выравниванием по левому краю 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];
Я также хочу изменить цвет представления предупреждения на красный.
Ответы
Ответ 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 на то, что один из них идеально подходит, но если вы хотите изменить цвет или настроить представление предупреждения, я получил один класс, который можно использовать вместо системного оповещения просто проверьте этот, это определенно будет работать. даже это также поможет вам получить многострочное сообщение с выравниванием и маркированным списком.
Если вы обнаружили какие-либо проблемы с его использованием, попросите о помощи, я обязательно помогу вам.
Счастливое кодирование:)