2014-02-26 62 views
4

我在didFinishLaunchingWithOptions功能如下代碼:UITableViewCell的外觀不改變爲textLabel字體

[[[UITableViewCell appearance] textLabel]setFont:[UIFont fontWithName:@"someFont" size:12]]; 

但出於某種原因,這並沒有改變我的表格單元格中的文本。

如果表中委託函數cellForRowAtIndexPath我添加

cell.textLabel.font = [UIFont fontWithName:@"someFont" size:12]; 

它做的字體更改爲我所希望的一個。

任何想法?

+0

您定位的是哪個版本的iOS? – Dan

+0

你使用自定義字體嗎? – ignotusverum

+0

@anonymous是的我正在使用自定義字體。 – oopsi

回答

7

使用外觀代理不支持設置的font屬性。

您可以通過在UI_APPEARANCE_SELECTOR的那個類的頭文件中查看支持哪些屬性。

看看UITableViewCell.h,你會看到只有separatorInset支持(和backgroundColor因爲這是由它的父類的支持,UIView):

@property (nonatomic) UIEdgeInsets separatorInset NS_AVAILABLE_IOS(7_0) UI_APPEARANCE_SELECTOR; // allows customization of the separator frame


UIAppearance protocol reference:

爲了支持外觀定製,一個類必須符合UIAppearanceContainer協議和相關訪問方法必須使用UI_APPEARANCE_SELECTOR進行標記。

+0

爲什麼要投票?這是正確的答案,但如果你認爲它可以改進,請告訴我如何! –

+0

謝謝!但我現在正在看UITableViewCell.h,我看不到任何UI_APPEARANCE_SELECTOR – oopsi

+0

嗯。我將直接從'UITableViewCell.h'複製的代碼粘貼到我的答案中...是否幫助您找到它? –

相關問題