我的didFinishLaunchingWithOptions
函数中包含以下代码:
[[[UITableViewCell appearance] textLabel]setFont:[UIFont fontWithName:@"someFont" size:12]];
但由于某些原因,这不会改变我的表格单元格中的文本。
如果在表委托函数cellForRowAtIndexPath
中添加
cell.textLabel.font = [UIFont fontWithName:@"someFont" size:12];
它确实将字体更改为我想要的字体。
有什么想法吗?
答案 0 :(得分:9)
使用外观代理不支持设置font
的{{1}}属性。
您可以通过查看UITableViewCell
的该类的头文件来确定支持哪些属性。
看看UI_APPEARANCE_SELECTOR
,您会看到只支持UITableViewCell.h
(以及separatorInset
,因为它的超类backgroundColor
支持这一点:
UIView
来自UIAppearance
protocol reference:
要支持外观自定义,类必须符合
@property (nonatomic) UIEdgeInsets separatorInset NS_AVAILABLE_IOS(7_0) UI_APPEARANCE_SELECTOR; // allows customization of the separator frame
协议,相关的访问者方法必须标有UIAppearanceContainer
。