4

これが固有のものかどうかはわかりませんが、 (私が信じているように)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それが正しい方法だとは思いません。なぜこれが機能しないのかを理解したいのです。

質問:
フォントとテキストの色が保持されないのはなぜですか?正しく機能させるにはどうすればよいですか?

4

2 に答える 2

-1

nib-file でラベルの属性を設定します。インターフェース構成を別の場所に分割すると、これは単なる混乱の原因になります。

それをしたくない場合は、ラベルの構成をviewDidLoad:

于 2013-03-05T18:24:54.713 に答える