Поскольку эти параметры, по-видимому, различаются, регистрация объектов шрифта - это хороший способ узнать без работы догадок ...

размер шрифта по умолчанию для textLabel и detailTextLabel?

Ответы на вопрос(3)

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] 
             initWithStyle:UITableViewCellStyleValue2
             reuseIdentifier:CellIdentifier] autorelease];

    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
//set text to get font size > 0

NSLog(@"cellStyleValue2 text font: %@\n", cell.textLabel.font);
NSLog(@"cellStyleValue2 detail font: %@\n", cell.detailTextLabel.font);

Понятно:

шрифт текста cellStyleValue2: font-family: "Helvetica"; вес шрифта: полужирный; стиль шрифта: нормальный; размер шрифта: 12 пикселей

cellStyleValue2 подробный шрифт: font-family: "Helvetica"; вес шрифта: полужирный; стиль шрифта: нормальный; размер шрифта: 15 пикселей

Поскольку эти параметры, по-видимому, различаются, регистрация объектов шрифта - это хороший способ узнать без работы догадок ...

Решение Вопроса

-> Общие -> TextSize. Обычно вы не должны использовать фиксированный размер шрифта, но должны использовать что-то вроде:

[UIFont preferredFontForTextStyle:UIFontTextStyleHeadline]

очевидно, в зависимости от того, что вам нужно. Во всяком случае, если вы создаетеUITableViewCell со стилемUITableViewCellStyleSubtitleтогда шрифт cell.text - это тот же объект, что и

[UIFont preferredFontForTextStyle: UIFontTextStyleBody]

и шрифт cell.detailTextLabel является тем же объектом, что и

[UIFont preferredFontForTextStyle: UIFontTextStyleCaption1]. 

Вы получаете шрифты от самых маленьких до самых маленьких, используя константы, оканчивающиеся на «Тело», «Подзаголовок», «Сноска», «Заголовок1», «Заголовок2», чтобы вы знали, что использовать, если вы хотите немного меньше или больше текста. «Заголовок» такого же размера, как «Тело», но жирный.

Вероятно, лучше всего просто создать ячейку во время выполнения и получить от нее шрифты.

 maganap28 июн. 2016 г., 10:48
«Вероятно, лучше всего просто создать ячейку во время выполнения и получить от нее шрифты». Наконец-то разумная нехитрая мысль!

поэтому, если вам нужны некоторые гарантированные фиксированные значения, лучше сделать это, так как значения размера могут варьироваться в зависимости от многих факторов (стиль ячейки, версия SDK, версия ОС и т. Д.).

Я тестировал на симуляторе версию 4.2 SDK и получил следующие результаты (для ячеек не было установлено никаких дополнительных свойств):

UITableViewCellStyleSubtitle:

textLabel: Helvetica Bold, размер: labelFontSize + 1 (18 px)
detailsLabel: Helvetica, размер: systemFontSize (14 px)

UITableViewCellStyleValue1:

textLabel: Helvetica Bold, размер: labelFontSize (17 px)
detailsLabel: Helvetica Bold, размер: systemFontSize + 1 (15 px)

UITableViewCellStyleValue2:

textLabel: Helvetica Bold, размер: smallSystemFontSize (12 пикселей)
detailsLabel: Helvetica, размер: labelFontSize (17 px)

 Vladimir05 февр. 2012 г., 20:16
@ Моше, честно говоря, я просто поиграл с разными значениями и сравнил их визуально со значениями по умолчанию - поэтому нет 100% гарантии, что эти значения точны
 Moshe05 февр. 2012 г., 19:52
Как ты это получил ?! Я попытался зарегистрировать это и получил бесполезную информацию о размере шрифта.
 lostintranslation14 нояб. 2014 г., 20:39
А как насчет «основных»?

Ваш ответ на вопрос