字体和textColor消失了 - 又是另一个UitaiteViewCell 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被调用,并且插座已正确连接,因为我可以设置文本。

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

问题
为什么它不保留字体和文本彩色,我该怎么做才能使它以正确的方式工作?

我在.Nib s上加载的所有标签都有相同的问题。然后我发现问题在UIAppearance中。我的AppDelegate中有以下行:

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

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

设置笔尖文件中标签的属性。如果将接口配置拆分到不同的位置,则仅会导致trubble。

如果您不想这样做,将标签的配置移至viewDidLoad:

相关内容

  • 没有找到相关文章

最新更新