我在tableViewCell中有一个View。在某些情况下,我想将视图移动到某个来源x
,但以下代码无法在cellForRowAtIndexPath
中使用。如果我在cellForRowAtIndexPath
完成后使用代码,它的工作正常。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UINib *nib = [UINib nibWithNibName:@"GoalDetailsCustomCardCell" bundle:nil];
[goalDetailsTableView registerNib:nib forCellReuseIdentifier:@"CardCell"];
GoalDetailsTableViewCell *cell = [goalDetailsTableView dequeueReusableCellWithIdentifier:@"CardCell"];
if(cell == nil)
{
cell = [goalDetailsTableView dequeueReusableCellWithIdentifier:@"CardCell"];
}
if([self.swipedRowArray containsObject:indexPath])
{
[UIView animateWithDuration: 0.5 animations:^{
cell.cardDetails.frame = CGRectOffset(cell.cardDetails.frame, -322.0, 0.0);
// CGRectOffset(cell.cardView.frame, -320.0, 0.0);
cell.actionCardReminder.frame = CGRectOffset(cell.actionCardReminder.frame, -322.0, 0.0);
}];
}
}
任何人都可以帮助我..提前致谢。
答案 0 :(得分:1)
在tableView:willDisplayCell:forRowAtIndexPath:
方法中使用此动画块:
-(void)tableView:(UITableView *)tableView willDisplayCell:(GoalDetailsTableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if([self.swipedRowArray containsObject:indexPath])
{
[UIView animateWithDuration: 0.5 animations:^{
cell.cardDetails.frame = CGRectOffset(cell.cardDetails.frame, -322.0, 0.0);
// CGRectOffset(cell.cardView.frame, -320.0, 0.0);
cell.actionCardReminder.frame = CGRectOffset(cell.actionCardReminder.frame, -322.0, 0.0);
}];
}
}
我不确定它是否适合您,但我只在此方法中添加了单元格动画。
希望这对你也有帮助。