ios - Font 和 textColor 不见了 - 另一个 UITableViewCell awakeFromNib

标签 ios uitableview xib awakefromnib

我不知道这是否特定于 UITableViewCells 但对于 UIViews 来说是普遍的(我相信)但我注意到了问题与一个细胞。

如前所述,我有一个自定义的 UITableViewCell 子类,当它使用指定的 init 进行初始化时,它会从 xib 加载自身:

- (id)initWithReuseIdentifier:(NSString *)reuseIdentifier
{
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"MyCell" owner:nil options:nil];
    self = nib[0];
    if (self) {
        // Initialization code
        _reuseIdentifier = reuseIdentifier;
    }
    return self;
}

它有一个 UILabel 作为导出,我在 awakeFromNib 方法中设置了它的一些属性:

- (void)awakeFromNib{
    [super awakeFromNib];

    self.labelLeft.textColor = [UIColor grayColor];
    self.labelLeft.font = [UIFont boldSystemFontOfSize:15.0f];
}

重点是,标签不保留 textColor 和字体,我不明白为什么。
awakeFromNib 被调用并且 socket 连接正确,因为我可以设置文本。

UITableViewDataSource 中设置他的文本后,我可以通过设置这些属性来使其工作,但我不觉得这是正确的方法,我想了解为什么这不起作用。

问题:
为什么它不保留 Font 和 Textcolor,我该怎么做才能使其以正确的方式工作?

最佳答案

我从 .Nib 加载的所有标签都存在同样的问题。然后发现问题出在UIAppearance。我的 AppDelegate 中有以下行:

+ (void)styleApplication {
    [[UILabel appearance] setFont:[MGStylesheet defaultLightFontOfSize:17]];
}

此方法更新我的应用程序中的所有字体,并且一切正常,直到我开始从 .Nib 加载我的 UIView。当我删除它时,一切都开始按预期工作。

关于ios - Font 和 textColor 不见了 - 另一个 UITableViewCell awakeFromNib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13957156/

相关文章:

ios - 如何使用自定义 GKComponent 创建 SKSpriteNode?

ios - 找不到 Swift 3.0 stringFromStringNumberOrNil 替换。应用给出错误 "Ambiguous reference to member ' 值'或 'value' 的模糊使用“

ios - 解析不同对象的不同用户评分

ios - 向分组的 UITableView 添加阴影

ios - 如何在 IOS swift 的 TableView 单元格中添加删除按钮

ios - UITableViewCell 子类 : in what delegate method is it appropriate to do changes to the cells layer?

ios - Swift - 原型(prototype)单元从 TextField 获取值

ios - 从 NIB 加载自定义类 UIView (IBOutlets nil)

xib - Xcode 4.5 自动更改 .xib 文件

ios - 一个 .h 和 .m 文件用于多个 xib ios