Как создать смелый UIFont - PullRequest
31 голосов
/ 17 января 2012

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

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

Это то, что я делаю, чтобы установить поля:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *cellText = @"Go get some text for your cell.";
    UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:17.0];
    CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
    CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];

    return labelSize.height + 20;
}

Ответы [ 4 ]

61 голосов
/ 17 января 2012

Вы можете посмотреть на fontNamesForFamilyName: метод.

Специально для Helvetica существуют эти семьи

NSLog(@"%@", [UIFont fontNamesForFamilyName:@"Helvetica"]);
"Helvetica-LightOblique",
Helvetica,
"Helvetica-Oblique",
"Helvetica-BoldOblique",
"Helvetica-Bold",
"Helvetica-Light"
59 голосов
/ 17 января 2012

Если вы используете версию Helvetica, поставляемую в комплекте с iOS, вы можете просто сделать:

[UIFont boldSystemFontOfSize:17.0];
26 голосов
/ 17 января 2012

Вы должны запросить шрифт специально, например,

[UIFont fontWithName:@"Helvetica-Bold" size:17.0]

Вот список доступных шрифтов: http://www.iphonedevsdk.com/forum/iphone-sdk-development/6000-list-uifonts-available.html

15 голосов
/ 17 января 2012

Вы должны использовать:

+ (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize

Если вы предоставили пользовательский шрифт или используете системный шрифт, в качестве имени шрифта вы использовали бы жирный шрифт:

[UIFont fontWithName:@"Arial-BoldMT" size:17];
...