好的,我一直在阅读SO并进行各种搜索,但我无法弄清楚为什么我的字体不起作用。
我认为我已经做得没错,但是当我运行应用程序时,我的按钮上的文本出现了标准系统字体,而不是我导入的字体。我添加了 NSLog(@"%@",[UIFont familyNames]);
以查看它是否在列表中,但它没有出现。这让我觉得我设置错误了。
我希望有人能够帮助我使用自定义字体显示标签中的文本。感谢任何认为他们可能有建议的人!
这是我所做的步骤:
第1步:我从互联网上下载了.ttf文件。在我的finder中,它看起来像这样:
第2步:我从finder将字体文件拖到XCode中,并选中“将文件复制到项目文件夹”选项。因此在我的项目中,我可以看到:
第3步:我打开字体书以查看真实的文件名,我看到这个:
第4步:我在MyApp-Info.plist文件中添加了一个键,其中包括来自XCode的文件名和文件类型。它看起来像这样:
第5步:然后在我的代码中写入:
UIButton *thisLevelButton = [UIButton buttonWithType:UIButtonTypeCustom];
[thisLevelButton setBackgroundImage:[UIImage imageNamed:@"ccLSButtonPlayed"] forState:UIControlStateNormal];
thisLevelButton.frame = CGRectMake(x, y, BUTTON_WIDTH, BUTTON_HEIGHT);
thisLevelButton.tag = j;
[thisLevelButton addTarget:self action:@selector(userSelectedButton:) forControlEvents:UIControlEventTouchUpInside];
[thisLevelButton.titleLabel setFont:[UIFont fontWithName:@"PressStartK" size:24]];
[thisLevelButton setTitle:[NSString stringWithFormat:@"%i",(j+1)] forState:UIControlStateNormal];
// add the button to the panel
[subScroll addSubview:thisLevelButton];
供参考,这是在字体系列列表中打印出的内容:
(
Thonburi,
"Snell Roundhand",
"Academy Engraved LET",
"Marker Felt",
"Geeza Pro",
"Arial Rounded MT Bold",
"Trebuchet MS",
Arial,
Marion,
"Gurmukhi MN",
"Malayalam Sangam MN",
"Bradley Hand",
"Kannada Sangam MN",
"Bodoni 72 Oldstyle",
Cochin,
"Sinhala Sangam MN",
"Hiragino Kaku Gothic ProN",
Papyrus,
Verdana,
"Zapf Dingbats",
Courier,
"Hoefler Text",
"Euphemia UCAS",
Helvetica,
"Hiragino Mincho ProN",
"Bodoni Ornaments",
"Apple Color Emoji",
Optima,
"Gujarati Sangam MN",
"Devanagari Sangam MN",
"Times New Roman",
Kailasa,
"Telugu Sangam MN",
"Heiti SC",
"Apple SD Gothic Neo",
Futura,
"Bodoni 72",
Baskerville,
"Chalkboard SE",
"Heiti TC",
Copperplate,
"Party LET",
"American Typewriter",
"Bangla Sangam MN",
Noteworthy,
Zapfino,
"Tamil Sangam MN",
"DB LCD Temp",
"Arial Hebrew",
Chalkduster,
Georgia,
"Helvetica Neue",
"Gill Sans",
Palatino,
"Courier New",
"Oriya Sangam MN",
Didot,
"Bodoni 72 Smallcaps"
)