0

ストーリーボードファイルに接続された多くのアウトレットを持つカスタムUITableViewCellサブクラスがあります。それらの中には、nibファイル内の(priorityStatusView)への1つのアウトレットを持つItemDetailCellカスタムUIViewサブクラスがあります。PriorityViewUIView

@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経由で呼び出すことを試みましたが、メソッドでが呼び出されてcellForRowAtIndexPathNSLog、プロパティは変更されません。問題は、ビューがファイルにどのように接続されているかにあると思いPriorityViewます。

4

2 に答える 2

0

メソッドを実装し- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath、背景色を設定してみてください。お役に立てれば!

于 2013-01-16T22:37:04.137 に答える
0

アクセサをストロングに設定してみてください。多分...

于 2013-01-16T23:19:41.940 に答える