Как сделать CALayer изменяемого размера? - PullRequest
1 голос
/ 07 июля 2011

Как я могу сделать CALayer изменяемого размера?Когда я вставляю Subublayer в tableViewCell, затем меняю высоту ячейки, как я могу сделать так, чтобы она соответствовала новому размеру ячейки?

CALayer *innerShadowLayer = [CALayer layer];
innerShadowLayer.contents = (id)[UIImage imageNamed: @"innershadow"].CGImage;
innerShadowLayer.contentsCenter = CGRectMake(10.0f/21.0f, 10.0f/21.0f, 1.0f/21.0f, 1.0f/21.0f);
innerShadowLayer.frame = cell.frame;    
[cell.backView.layer insertSublayer:innerShadowLayer atIndex:0];

1 Ответ

2 голосов
/ 22 ноября 2011

Я не уверен, где вы размещаете этот код, но если он находится в подклассе UITableViewCell, вы можете сохранить его как переменную экземпляра и добавить этот код

- (void)layoutSubviews{
    [super layoutSubviews];
    innerShadowLayer.frame = cell.frame;
}
...