【问题标题】:UITableViewCell appearance not changing textLabel fontUITableViewCell 外观不改变 textLabel 字体
【发布时间】:2014-03-29 05:58:12
【问题描述】:

我的didFinishLaunchingWithOptions 函数中有以下代码:

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

但由于某种原因,这不会改变我表格单元格中的文本。

如果在表中委托函数cellForRowAtIndexPath我加

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

它确实将字体更改为我想要的字体。

有什么想法吗?

【问题讨论】:

  • 您的目标是什么版本的 iOS?
  • 你在使用自定义字体吗?
  • @anonymous 是的,我正在使用自定义字体。
  • @Dan 我的目标是 IOS 7

标签: ios uitableview uikit appearance


【解决方案1】:

不支持使用外观代理设置UITableViewCellfont 属性。

您可以通过查看 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

【讨论】:

  • 为什么投反对票?这是正确答案,但如果您认为可以改进,请告诉我如何!
  • 谢谢!但我现在在 UITableViewCell.h 中查看,我看不到任何 UI_APPEARANCE_SELECTOR
  • 嗯。我将直接从UITableViewCell.h 复制的代码粘贴到我的答案中……这有助于您找到它吗?
  • 是的。非常感谢
  • 不是不支持Font属性,而是UITableViewCell没有Font。我认为您正在寻找 UILabel 上的 Font 属性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-23
相关资源
最近更新 更多