Конфигурирование текста UITableViewCell динамически - PullRequest
1 голос
/ 10 августа 2011

Вот моя проблема: у меня есть UITableView, и я хочу динамически настроить текст «Ячейки» с различными текстовыми шрифтами, например, первая строка будет 12, Helvetica, Bold, а вторая строка будет 10, Helvetica. Также обратите внимание, что количество строк неизвестно и должно определяться динамически. Любая помощь приветствуется!

ps: Видимо, вопрос не совсем понятен. Я не хотел показывать каждую строку в разных клетках. Так что подумайте только об одной ячейке и настройте текст для этой конкретной ячейки. У меня есть динамически определенное количество строк для этой ячейки, поэтому оно может быть 2 или 3 в зависимости от доступности информации. И я хочу, чтобы эти строки имели разные шрифты и разные цвета. Один из способов добиться этого - иметь динамический номер UILabel для ячейки, но я хотел бы посмотреть, есть ли другие варианты?

Ответы [ 2 ]

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

Я не могу ответить на этот вопрос очень хорошо без примера шаблона, но вот оно:

В - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath добавьте свои настройки. Вот несколько примеров:

1)

if (indexPath = 1) {  //row 1
    cell.detailTextLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:12]; //Important note: -Bold can vary per font. For example, Arial's bold variant is 'Arial-BoldMT'.
    //change to needs
}
else if (indexPath = 2) { //row 2
    //etc.

2)

if (indexPath <= 6) {  //row 1-6
    cell.detailTextLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:12]; //Important note: -Bold can vary per font. For example, Arial's bold variant is 'Arial-BoldMT'.
    //change to needs
}
else if (indexPath >=7 && indexPath <=15) { //rows 7-15
    //etc.

3)

///etc.

else if (indexPath >=84) { //rows 84 and over
    cell.detailTextLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:12];
}

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

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

Это довольно тривиально.Просто установите содержимое ячеек в

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

. Вы можете настроить размер шрифта, цвет и т. Д. На основе indexPath ячейки.

Если вы хотите получить множество примеров того, что все возможно, то посмотрите Руководство по программированию Table View от Apple .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...