ストーリーボードファイルに接続された多くのアウトレットを持つカスタムUITableViewCell
サブクラスがあります。それらの中には、nibファイル内の(priorityStatusView)への1つのアウトレットを持つItemDetailCell
カスタムUIView
サブクラスがあります。PriorityView
UIView
@property (weak, nonatomic) IBOutlet PriorityView *redPriorityView;
nibファイル(PriorityView.xib)で、ファイルの所有者カスタムクラスをPriorityViewに接続しました。PriorityView.m
私は使用してnibファイルをロードしていますdrawRect
:
NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"PriorityView" owner:self options:nil];
[self addSubview:[array objectAtIndex:0]];
テーブルビューコントローラーcellForRowAtIndexPath
で、の背景色を設定しようとしていますredPriorityView.priorityStatusView
が、最初に呼び出しdrawRect
ているので、ペン先が読み込まれます。私がペン先をロードするために使用initWithFrame
していない理由は、ペン先をロードしないことに加えて、それが無効になっているように見えるからPriorityView
です。ビューにがすでにロードされているため、これが発生しているのではないかと疑っていIBOutlet
ます。私が呼び出したので、それがnullであることを知っています:
NSLog(@"%@, %@", detailCell.redPriorityView, detailCell.redPriorityView.priorityStatusView);
両方ともnullを返します。ただし、を使用drawRect
してnibをロードすると、両方のログがnullではないことが返されます。私が今抱えている唯一の問題は、以下を使用しても背景色が変わらないことです。
detailCell.redPriorityView.priorityStatusView.backgroundColor = [UIColor yellowColor];
setBackgroundColor
私も無駄に使ってみました。実際、redPriorityView
またはのプロパティはどれもredPriorityView.priorityStatusView
私にとっては変わらないようです。背景色は一例です。
長くしてすみません、私はこの仕事をするのに苦労しています。助けてくれてありがとう!
編集
redPriorityView
でメソッドを使用してのプロパティを設定し、ItemDetailCell
経由で呼び出すことを試みましたが、メソッドでが呼び出されてcellForRowAtIndexPath
もNSLog
、プロパティは変更されません。問題は、ビューがファイルにどのように接続されているかにあると思いPriorityView
ます。