我一直在插件,我需要使用sizeWithFont:方法來正確排列我的佈局,但它似乎不適用於自定義字體。有沒有辦法讓它工作,或者我可以使用另一種方法?iOS:sizeWithFont:用於自定義字體
我對此很難過。任何幫助表示讚賞。
我一直在插件,我需要使用sizeWithFont:方法來正確排列我的佈局,但它似乎不適用於自定義字體。有沒有辦法讓它工作,或者我可以使用另一種方法?iOS:sizeWithFont:用於自定義字體
我對此很難過。任何幫助表示讚賞。
sizeWithFont應該可以工作,但如果它給你一個問題,那麼有一個解決方法。您可以將文本放在UITextView中,將其添加到佈局中,然後檢索實際文本大小並進行相應調整。以下是我的一個項目中的一些示例代碼:
// Put in the title in
self.titleView = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, 195, 195)];
self.titleView.font = [UIFont fontWithName:@"Bliss Pro" size:20.0];
[self addSubview:self.titleView];
self.titleView.text = @"Add your text here";
// Now get the actual size of the text and resize the title view's frame
CGRect frame = self.titleView.frame;
frame.size.height = self.titleView.contentSize.height;
self.titleView.frame = frame;
這有點冒失,但它確實有效。
對!我必須先使用此方法才能將描述與高亮顯示的複製和粘貼結合起來。但我已經想出了答案,它可能也應該知道。如果你來了,你可以將它添加到你的答案,這樣它就會有答案嗎? – RileyE 2012-07-24 15:11:31
答案是字體名稱不一定與文件的名稱相同。我使用的是Gotham-Bold.ttf,最後我不得不導入「Gotham Bold」,而不是「Gotham-Bold」。我不是那種想要得到字體的人,只是爲了實現它,所以很高興知道。 – RileyE 2012-07-24 15:15:33
這沒有nt工作它給出相同的幀值195. – Leena 2012-08-07 13:14:32
#define kFontSize 14.0 //modify your font size
CGSize size = [yourView sizeWithFont:[UIFont boldSystemFontOfSize:kFontSize]];
您是否完全確定自定義字體加載正常,並且您獲得了實際使用的字體變體(常規,粗體等)的大小? – sgress454 2012-07-24 04:42:47
是的。這絕對是工作。如果我手動設置大小,正確的字體顯示在視圖上。我已經將ttf文件添加到項目中,並在我的plist文件的關鍵'UIAppFonts'下執行它們。 – RileyE 2012-07-24 04:48:34
嗯,它應該肯定會工作。它沒有返回任何東西,或只是不正確的值? – sgress454 2012-07-24 05:21:11