У меня есть подкласс UIButton
внутри подкласса UITableViewCell
. Кнопка загружена из кончика.
У меня есть изображение, которое я хочу использовать в качестве изображения для кнопки. Я хотел бы использовать CALayer
для большего контроля над анимацией. Когда пользователь нажимает кнопку, происходит анимация. Но я даже не могу заставить изображение появиться.
QuartzCore импортируется.
Код моего подкласса UIButton
(всегда загружается с кончика):
-(void)awakeFromNib {
[super awakeFromNib];
self.clipsToBounds = NO;
self.backgroundColor = [UIColor clearColor];
self.opaque = NO;
self.userInteractionEnabled = YES;
}
Код в контроллере табличного представления:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
MyCustomCell *cell = (BLCustomCellCenter*)[tableView dequeueReusableCellWithIdentifier:@"customCellID"];
if (cell == nil) {
// ... cell is initialized
}
// configure the image for the button
//
// Note: there is an outlet to the UIButton called 'customButton'
CALayer *imgLayer = [CALayer layer];
imgLayer.bounds = CGRectMake(0, 0, cell.customButton.bounds.size.width, cell.customButton.bounds.size.height);
imgLayer.position = CGPointMake(cell.customButton.bounds.size.width/2, cell.customButton.bounds.size.height/2);
UIImage *img = [UIImage imageNamed:@"someImage"];
imgLayer.contents = (id)[img CGImage];
[cell.customButton.layer addSublayer:imgLayer];
// ... configure subviews of 'customButton'
return cell;
}
Любая помощь очень ценится, как всегда.