我有一个自定义UITableViewCell
子类,ItemDetailCell
它有许多连接到我的故事板文件的插座。其中有一个自定义UIView
子类,它有一个到nib 文件中的 (priorityStatusView) 的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
,它似乎还使 nib 无效。PriorityView
我怀疑这是因为视图已经加载了IBOutlet
. 我知道它是空的,因为我已经调用了:
NSLog(@"%@, %@", detailCell.redPriorityView, detailCell.redPriorityView.priorityStatusView);
并且都返回null。但是,使用drawRect
加载笔尖确实会返回两个日志不为空。我现在唯一的问题是背景颜色不会改变使用:
detailCell.redPriorityView.priorityStatusView.backgroundColor = [UIColor yellowColor];
我也试过使用setBackgroundColor
无济于事。实际上,redPriorityView
or的所有属性redPriorityView.priorityStatusView
对我来说似乎都没有改变。背景颜色只是一个例子。
抱歉拖了这么久,我只是很难完成这项工作。提前感谢您的帮助!
编辑
我尝试设置redPriorityView
使用方法的属性ItemDetailCell
并通过调用它,cellForRowAtIndexPath
但即使调用NSLog
方法中的属性也不会改变。我认为问题可能在于视图如何连接到PriorityView
文件。