3

取り消し線アニメーションを表示する最良の方法は何ですか? ユーザーがUITableViewCellで指をスワイプすると、細い線をアニメーション化したいと思いますcell.textlabel.text

私がこれまでに考えた2つの方法は、アニメーションを使用するか、カスタム画像を表示して左から右にゆっくりと明らかにすることでしょうか? これについて誰かアドバイスはありますか?

スワイプ ジェスチャは既に動作しています。あとは、アニメーションを実行する方法を知る必要があるだけです。

ジェスチャー レコグナイザーを追加します。

  //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) が起動すると、幅 0、高さ 1 で、テキスト フィールドの x ポイントと y ポイントの中間あたりで、テキスト フィールドの上に黒の背景色を持つ新しい UIView を配置します。
  2. 次に、[UIView animationWithDuration....] を呼び出して、UIView の width プロパティをテキストフィールドの幅にほぼ合わせます。

これは、微調整を加えることで、希望するものに近づける必要があります。フォントのプロパティのみを使用して取り消し線をアニメーション化することはできないと思いますが、この手法はそれをうまくシミュレートするはずです。

途中までやって良かった。

于 2013-08-15T17:31:46.463 に答える