我使用自定义UITableViewCell,每个单元格都有UIImageView。我对imageView有效,比如视差(我根据scrollview.contentOffset更改了imageView的帧)。同样在单元格中我有标签= 5的按钮和标签。
按钮操作:
- (IBAction)likeAction:(id)sender {
CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:buttonPosition];
((UILabel *)[[(UIButton *)sender superview] viewWithTag:5]).text = [dictionary objectForKey:@"score"];
}
我的问题: 当我滚动时,imageView的帧(origin.y)发生变化(正常位置是origin.y = 0,但我的效果会改变它),例如当origin.y = -20时按下按钮和(!)我的imageView返回到它第一个位置(像是重新加载了单元格,origin.y = 0)。如果我继续滚动,imageView将返回origin.y = -20然后就可以了。 所以我跳过了imageView。
我该如何改进?如何在不重新加载单元格的情况下更改标签中的文本?或者我可以保存imageView的位置,以避免重新加载时跳转?