我有一个按钮,我使用自定义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号字体,但是,当然,我没有得到我的自定义字体。 那么,如何设置自定义字体的大小?
(我使用Xcode 4.6.3)
答案 0 :(得分:2)
这样做:
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”名称...我用这种方法找到了我的用户名。如果不这样做,让我们检查一下你添加字体的方式(可能是一个忘记的动作)。 资料来源:http://forgecode.net/2010/08/uifont-name-grabber/
答案 1 :(得分:2)
要获取必须在fontWithName:size:
中传递的字体名称,请使用 Font Book 应用打开字体,然后查找PostScript name
属性。确保您已将其添加到Info.plist
文件中。
答案 2 :(得分:2)
好像您的UIFont对象未正确创建并返回nil
。
这是我在推出自定义字体时发现的最佳教程。祝你好运;)
答案 3 :(得分:1)
有趣的是,它原来是我的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
答案 4 :(得分:-1)
为'My-Font'传入'nil'可以为默认字体调整文本大小 - 无需知道实际使用的字体是什么:
button.titleLabel.font = [UIFont fontWithName:nil size:10.0f];