Не удается изменить пользовательский размер UIFont на UIButton
у меня есть кнопка, на которой я использую пользовательский UIFont для отображения текста. Шрифт загружается правильно и правильно применяется к заголовку кнопки. Моя проблема в том, что я не могу изменить размер шрифта:
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(loginButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"Login" forState:UIControlStateNormal];
button.frame = CGRectMake(63.0, 200.0, 194.0, 60.0);
button.titleLabel.font = [UIFont fontWithName:@"My-Font" size:8.0f];
[self.view addSubview:button];
независимо от того, что я вкладываю в размер шрифта, я получаю размер по умолчанию. С другой стороны, если я сделаю что-то подобное:
button.titleLabel.font = [UIFont systemFontOfSize:32.0f];
Я получаю размер шрифта 32, однако, конечно, я не получаю свой собственный шрифт. Итак, как установить размер для пользовательского шрифта?
(I использовать Xcode 4.6.3)
5 ответов
чтобы получить имя шрифта, вы должны пройти в fontWithName:size:
, откройте шрифт с помощью Шрифты app, затем посмотрите на PostScript name
собственность. Убедитесь, что вы добавили его в тоже.
Кажется, что ваш объект UIFont не создается правильно и возвращается nil
.
Это лучший учебник, который я нашел по вводу пользовательских шрифтов. Удачи ;)
этого:
NSMutableDictionary *fontsByFamilyName = [NSMutableDictionary dictionary];
NSArray *sortDescriptors = [NSArray arrayWithObject:[[[NSSortDescriptor alloc] initWithKey:@"self" ascending:YES] autorelease]];
NSArray *familyNames = [[UIFont familyNames] sortedArrayUsingDescriptors:sortDescriptors];
for (NSString *aFamilyName in familyNames) {
NSArray *fontNames = [[UIFont fontNamesForFamilyName:aFamilyName] sortedArrayUsingDescriptors:sortDescriptors];
[fontsByFamilyName setObject:fontNames forKey:aFamilyName];
NSLog(@"fonts :%@", fontsByFamilyName);
}
найдите имя вашего шрифта" iOS"... Я нашел свои cusom с помощью этого метода. Если нет, давайте проверим, как вы добавили свой шрифт (возможно действие забыли). Источник: http://forgecode.net/2010/08/uifont-name-grabber/
интересно, что это оказался мой Mac. Когда я дал своему другу установить их, у него не было проблем. Мой Mac на старой стороне, так что, возможно, это было причиной. Вот спецификации:
**Mac:** MacBook Pro 15" (Late 2008)
**Processor:** 2.4 GHz Intel Core 2 Duo
**Memory:** 4 GB 1067 MHz DDR3
**Graphics:** NVIDIA GeForce 9600M GT 256 MB
передача " nil " для "My-Font" позволяет изменять размер текста для шрифта по умолчанию-без необходимости знать, какой фактический шрифт используется:
button.titleLabel.font = [UIFont fontWithName:nil size:10.0f];