0
我想在UITableViewCells中嘗試動畫,所以我嘗試了一些簡單的CALayers。我幾乎立即遇到了問題,我覺得我在這裏真的錯過了一些東西。這是我的代碼。CALayer和UITableViewCell難題
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier];
}
NSString* title = [self.array objectAtIndex:indexPath.row];
cell.textLabel.text = title;
CALayer* layer = [CALayer layer];
layer.backgroundColor = [UIColor greenColor].CGColor;
layer.bounds = CGRectMake(10, 10, 50, 50);
[cell.contentView.layer addSublayer:layer];
return cell;
}
上面的代碼按預期添加了一個綠色方塊。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"did select");
CALayer* layer = [CALayer layer];
layer.backgroundColor = [UIColor purpleColor].CGColor;
layer.bounds = CGRectMake(50, 10, 50, 50);
UITableViewCell* cell = [self tableView:self.tableView cellForRowAtIndexPath:indexPath];
[cell.contentView.layer addSublayer:layer];
CGRect bounds = layer.bounds;
bounds.size.width = 200;
layer.bounds = bounds;
}
但是,此代碼沒有按預期工作。我想要一個紫色的正方形,然後長到一個更大的矩形。爲什麼這不起作用?