Лучший способ отобразить отформатированный NSString?Не удалось на UILabel - PullRequest
0 голосов
/ 03 августа 2011

Каков наилучший способ отображения отформатированной строки NSString?Я пытаюсь отформатировать варианты ответа на вопрос с несколькими вариантами ответов в приложении.

choices1 = [NSString stringWithFormat:@"\n\n Blue \n\n"
            "Yellow \n\n"
            "Red \n\n"
            "Orange \n\n"];

Я хочу отобразить его на экране iPhone.Я пытался использовать UILabel, но он не распознает символы новой строки.(Он печатает слова)

Мысли?Спасибо.

Ответы [ 4 ]

3 голосов
/ 03 августа 2011

UILabel по умолчанию для однострочного дисплея.Если вам нужно несколько строк, установите numberOfLines на 0, для неограниченных строк или на любое количество строк, которое вы хотите надписать надписью.

0 голосов
/ 03 августа 2011

Вместо того, чтобы разбивать ваш выбор с помощью синтаксиса C, вам лучше использовать 4 UILabels и просто расположить метки на экране именно там, где вы хотите.Тогда вам не нужно заботиться о том, чтобы расставить их все на части.Также намного проще изменить и увидеть, что вы делаете, когда вы проектируете свой интерфейс графически.

0 голосов
/ 03 августа 2011
NSString *str = [NSString stringWithFormat:@"Blue
                                             \n Yellow
                                             \n Red
                                             \n Orange"];

Установить numberOfLines = 4 и высоту UILabel = 300 (Вы можете проверить, подходит ли строка к этой высоте. Если нет, увеличить высоту).

0 голосов
/ 03 августа 2011

Измените некоторые свойства UILabel следующим образом:

    NSString *str = [NSString stringWithFormat:@"\n\n Blue \n\n"
                 "Yellow \n\n"
                 "Red \n\n"
                 "Orange \n\n"];

    UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 150, 250)];
    myLabel.numberOfLines = 10;
    myLabel.text = str;
    [self.view addSubview:myLabel];

Наслаждайтесь кодированием ..

...