3

显示删除线动画的最佳方式是什么?当用户在 UITableViewCell 上滑动手指时,我想为一条细线制作动画cell.textlabel.text

到目前为止我想到的两种方法是使用动画或以某种方式显示自定义图像并从左到右缓慢地显示它?有人对此有什么建议吗?

我已经有了滑动手势,我现在只需要知道如何制作动画:

添加手势识别器:

  //Add a left swipe gesture recognizer
    UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self
                                                                                     action:@selector(handleSwipeLeft:)];
    [recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)];
    [self.tableView addGestureRecognizer:recognizer];

    //Add a right swipe gesture recognizer
    recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self
                                                           action:@selector(handleSwipeRight:)];
    recognizer.delegate = self;
    [recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
    [self.tableView addGestureRecognizer:recognizer];

手势的委托方法:

- (void)handleSwipeLeft:(UISwipeGestureRecognizer *)gestureRecognizer
{
     NSLog(@"uncompleted");
}

// Cross Item off of the list
- (void)handleSwipeRight:(UISwipeGestureRecognizer *)gestureRecognizer
{
    NSLog(@"completed");
}
4

1 回答 1

2

根据您到目前为止所拥有的内容,以下应该可以工作:

  1. 当handleSwipeLeft(或right)触发时,在文本字段的x点处的文本字段上放置一个新的UIView,背景颜色为黑色,大约到y点的一半,宽度为0,高度为1
  2. 然后,调用 [UIView animationWithDuration....] 将 UIView 的宽度属性更改为大致文本字段的宽度。

通过一些调整,这应该接近您想要的。我不认为单独使用字体的属性来动画删除线是可能的,但这种技术应该可以很好地模拟它。

做得很好,能走到一半。

于 2013-08-15T17:31:46.463 回答