所以我有一个UIImageView作为UITableViewCell中的子视图。我希望它高于单元格中的所有内容(因此,用户无法看到此imageView所涵盖的任何内容)。但是,它只覆盖textLabel和detailTextLabel,但不包括accessoryView。谁能告诉我怎么做?非常感谢。
这里有一些代码: 初始化单元格时,我有
[cell setAccessoryView:rangeIndicatorView];
当我在它上面添加一个imageView时,
-(void) animateSwipeOnCell:(UITableViewCell*)cell {
UIImageView *swipeImg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"swipe_arrow.png"]];
[cell.contentView addSubview:swipeImg];
[swipeImg setFrame:CGRectMake(cell.bounds.origin.x - cell.bounds.size.width, cell.bounds.origin.y, cell.bounds.size.width, cell.bounds.size.height)];
[UIView animateWithDuration:1
delay:0.3
options:UIViewAnimationOptionCurveLinear
animations:^{
[swipeImg setFrame:CGRectMake(cell.bounds.origin.x + cell.bounds.size.width, cell.bounds.origin.y, cell.bounds.size.width, cell.bounds.size.height)];
}
completion:^(BOOL finished) {
[swipeImg removeFromSuperview];
}];
}
答案 0 :(得分:1)
我无法通过将图像直接添加到UITableViewCell来使其工作,所以通过将视图直接放在UITableView上可以替代它:
- (void)animateSwipeOnTableView:(UITableView *)tableView indexPath:(NSIndexPath *)indexPath {
UIImageView *swipeImg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"swipe_arrow.png"]];
CGRect tableViewRect = [tableView rectForRowAtIndexPath:indexPath];
[tableView addSubview:swipeImg];
[swipeImg setFrame:CGRectMake(tableViewRect.origin.x - tableViewRect.size.width, tableViewRect.origin.y, tableViewRect.size.width, tableViewRect.size.height)];
[UIView animateWithDuration:1
delay:0.3
options:UIViewAnimationOptionCurveLinear
animations:^{
[swipeImg setFrame:CGRectMake(tableViewRect.origin.x + tableViewRect.size.width, tableViewRect.origin.y, tableViewRect.size.width, tableViewRect.size.height)];
}
completion:^(BOOL finished) {
[swipeImg removeFromSuperview];
}];
}