我在自定义表格视图单元格内有一个IBOutlet。
@property (weak, nonatomic) IBOutlet UIView *innerContainer;
我想覆盖吸气剂为
-(UIView *)innerContainer
{
UIColor * shadowColor= [UIColor colorWithRed:199/255.0f
green:178/255.0f
blue:153/255.0f
alpha:1];
_innerContainer.layer.shadowOffset = CGSizeMake(0, 0);
_innerContainer.layer.shadowColor = [shadowColor CGColor];
_innerContainer.layer.shadowRadius = 4;
_innerContainer.layer.shadowOpacity = .75;
CGRect shadowFrame = _innerContainer.layer.bounds;
CGPathRef shadowPath = [UIBezierPath bezierPathWithRect:shadowFrame].CGPath;
_innerContainer.layer.shadowPath = shadowPath;
return _innerContainer;
}
但似乎没有效果。另一方面,如果我将阴影添加到里面的
innerContainer
中- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
那么效果在那里?
我尝试添加
@synthesize innerContainer=_innerContainer
,但这没什么区别。有没有一种方法可以覆盖IBOutlet的吸气剂?
最佳答案
这不是正确的方法。使用当前代码,每次访问innerContainer
都会执行设置阴影的工作。这可能无法正常工作,因为您没有直接在代码中访问innerContainer
,并且永远不会执行getter。另一方面,如果您多次访问该属性,则每次都会执行该工作,这太过分了。而是改写表视图单元格的awakeFromNib
方法,并将此逻辑放在此处。建立所有出口后立即调用此方法,这是创建阴影的逻辑的正确位置。
关于ios - 如何覆盖IBOutlet的getter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25069848/