Intereting Posts
Не прослушивание Bluetooth, если оно было выключено при инициализации GKSession Отбрасывание контактов в MKMapView, когда UITableView прокручивается, получая координаты из ячейки в определенном положении экрана. Сделайте «танец». Добавление данных Magic Cookie в файл AAC? Интервал времени между двумя вызовами метода Глобальный IP-адрес программно MKMapView Рисование подключенных линий между всеми точками Objective-C свойства readonly в подклассе Гравитация Cocos2D? Кнопки управления в AVPlayer и кадре EKEventStoreChangedNotification не срабатывает Шаблон проектирования Objective C для управления доступом к одноэлементному контенту, создание которого еще не завершено (iOS) iOS AVFoundation: настройка ориентации видео, записанного с помощью лицевой камеры Пакет приложений не содержит допустимого идентификатора IOS сделать прозрачную панель навигации и прозрачную панель вкладок в ios 7. Что подразумевается под в Objective-C?

Размер шрифта UILabel не подходит для жирных шрифтов

Я динамически создаю UIlabels, и для первого ярлыка я использую Bold style.

for (int i = 0; i < vehicles.count; ++i) { CGRect labelRect = CGRectMake(i * (self.frame.size.width / vehicles.count), 3, self.frame.size.width / vehicles.count, 13); UILabel *label = [[UILabel alloc] initWithFrame:labelRect]; label.textColor = thumbColor; label.textAlignment = NSTextAlignmentCenter; label.text = vehicles[i].vehicleClass; UIFont *labelFont; if (i == 0) { labelFont = [UIFont fontWithName:@"Avenir Next-Bold" size:9.0]; } else { labelFont = [UIFont fontWithName:@"Avenir Next" size:9.0]; } label.font = labelFont; [vehiclesLabels addObject:label]; [self addSubview:label]; } 

Но это выглядит так

введите описание изображения здесь

Почему первый ярлык больше?

Для семейных шрифтов «Avenir Next» вы должны использовать эти имена:

AvenirNext-MediumItalic, AvenirNext-Bold, AvenirNext-UltraLight, AvenirNext-DemiBold, AvenirNext-HeavyItalic, AvenirNext-Heavy, AvenirNext-Medium, AvenirNext-Italic, AvenirNext-UltraLightItalic, AvenirNext-BoldItalic, AvenirNext-Regular, AvenirNext-DemiBoldItalic

Изменить Avenir Next-Bold на AvenirNext-Bold и Avenir Рядом с AvenirNext-Regular

Просто вам нужно изменить нижнюю строку кода.

 labelFont = [UIFont fontWithName:@"AvenirNextCondensed-Bold" size:9.0]; 

Для проверки имени семейства шрифтов для этого используется следующий код.

 NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]]; NSArray *fontNames; NSInteger indFamily, indFont; for (indFamily=0; indFamily<[familyNames count]; ++indFamily) { NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]); fontNames = [[NSArray alloc] initWithArray: [UIFont fontNamesForFamilyName: [familyNames objectAtIndex:indFamily]]]; for (indFont=0; indFont<[fontNames count]; ++indFont) { NSLog(@" Font name: %@", [fontNames objectAtIndex:indFont]); } } 

Удалите пробелы из имени шрифта, которое оно будет работать для вас

 UIFont *labelFont; if (i == 0) { labelFont = [UIFont fontWithName:@"AvenirNext-Bold" size:9.0]; } else { labelFont = [UIFont fontWithName:@"AvenirNext-Regular" size:9.0]; } label.font = labelFont; 

В вашем текущем коде шрифт не применяется к первой строке в этом массиве. Если вы попытаетесь распечатать журнал для labelfont, это будет nil для i = 0. И если вы печатаете журнал для label.font, вы можете увидеть следующий вывод

 (lldb) po label.font <UICTFont: 0x7fbbb36185a0> font-family: ".SFUIText-Regular"; font-weight: normal; font-style: normal; font-size: 17.00pt 

Чтобы полужирный шрифт работал, попробуйте следующее:

 labelFont = [UIFont fontWithName:@"AvenirNext-Bold" size:9.0]; 

Надеюсь, это поможет.