[英]Unable to set custom font for the UILabel in XCode
我無法在XCode中為UILabel設置自定義字體。
這就是我嘗試過的:
下載“JennaSue”字體 - http://www.dafont.com/jenna-sue.font
在“支持文件”文件夾下打開“app-info.plist”
使用“應用程序提供的字體”鍵在列表中添加新行
在這個數組中添加“JennaSue.ttf”
在這樣的代碼中使用它:
self.someLabel.font = [UIFont fontWithName:@"JennaSue" size:14];
沒有任何反應 - 默認字體是可見的。
為什么? 我究竟做錯了什么? 我該如何解決?
info.plist
文件, Add row
, Fonts provided by application
, someLabel.font = [UIFont fontWithName:@"JennaSue" size: 12.0];
我想你錯過了第5步。
更新:執行步驟5時,請記住檢查將實際文件復制到項目目錄中的標記:
記得按“command + alt + shift + K”(IRRC!)來清理項目然后轉到你的項目
然后轉到項目的Build Phases,並確保您可以在資源文件中看到.ttf
文件:
PS我現在不在我的Mac上,所以我使用了本教程的截圖。 這就是為什么我為你的問題塗抹了不必要的線條。
檢查此代碼:
NSArray *names = [UIFont familyNames];
NSLog(@"Font FamilyNames : ");
for (NSString *name in names) {
NSLog(@"Font Family: %@",name);
NSArray *fontFaces = [UIFont fontNamesForFamilyName:name];
for (NSString *fname in fontFaces) {
NSLog(@" %@",fname);
}
}
self.someLabel.font = [UIFont fontWithName:@"use correct name" size:self.someLabel.font.pointSize];
並使用與NSLog打印的相同名稱。
向Xcode添加自定義字體后,不要忘記將字體添加到plist。 Project settings
> Info
> Custom IOS target properties
添加屬性
Fonts provided by application
並鍵入您的自定義字體(字體文件的文件名)。 然后你可以使用那個代碼示例self.someLabel.font = [UIFont fontWithName:@"JennaSue" size:14];
注意:確保在代碼中使用正確的字體名稱。 為此,您應該將此字體添加到Mac的字體書,打開字體書,選擇該字體並檢查正確的名稱字體。
希望這可以幫助
self.someLabel.font = [UIFont fontWithName:@"JennaSue.ttf" size:self.someLabel.font.pointSize];
我使用了以下代碼並完成了
UILabel * lblTest = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, 200, 100)];
lblTest.font = [UIFont fontWithName:@"JennaSue" size:25.0];
lblTest.text = @"Hello World";
[self.view addSubview:lblTest];
如果仍然不工作查看您的系統字體書並搜索該字體和那個字體,您必須使用它來使其工作
也嘗試這個lblTest.font = [UIFont fontWithName:@"Jenna Sue" size:25.0];
是現在在Compile Source中可見的文件...如果是,那么你可能有錯誤的字體名稱。有時字體名稱與他們的文件名不同...嘗試運行一個
for (NSString *familyName in [UIFont familyNames])
{
for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName])
{
NSLog(@"%@", fontName);
}
}
這行代碼..您將能夠看到字體的實際名稱並使用該名稱
字體可能已損壞或其他東西。 我嘗試了Gabriel.Massana和Neeku提供的解決方案,並且它使用了一些字體。 嘗試將字體添加到Mac。 如果它顯示驗證問題,很可能它不會在你的應用程序中工作。 希望這可以幫助
這是@ Ritu在Swift 2中的答案。只需將它放在AppDelegate或View Controller的viewDidLoad方法中:
let names = UIFont.familyNames()
for name in names {
print("Font Family: \(name)")
let fontFaces = UIFont.fontNamesForFamilyName(name)
for fname in fontFaces {
print(" \(fname)")
}
}
您將在控制台日志中擁有所有字體名稱,只需在代碼中復制並粘貼所需的字體名稱即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.