Domanda

I don't know if this is specific to UITableViewCells but rather general for UIViews (as i believe) but i noticed the problem with a cell.

As mentioned, I have a custom UITableViewCell subclass which loads itself from a xib when it gets initialized with an designated init:

- (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;
}

It has a UILabel as an outlet and I set some properties of it in the awakeFromNib method:

- (void)awakeFromNib{
    [super awakeFromNib];

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

The point is, that the label doesn't keep the textColor nor the font and I don't understand why.
awakeFromNib gets called and the outlet is connected right, since i can set the text.

I can make it work by settings those properties after I set his text in the UITableViewDataSource but I don't feel it's the right way and I want to understand why this doesn't work.

Question:
Why doesn't it keep the Font and Textcolor and what can I do to make it work the right way?

È stato utile?

Soluzione

I have the same issue with all my labels loaded from .Nib's. Then I found that the problem was in UIAppearance. I have the following line in my AppDelegate:

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

This method update all fonts in my application, and all works fine, until I start loading my UIView's from .Nib. When I removed this, everything start working as expected.

Altri suggerimenti

Set the attributes of the label in the nib-file. If you split your interface configuration to different places this causes just trubble.

If you don't want to do that move the configuration of the label into viewDidLoad:

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top