0

UTableViewController にタッチ イベントを追加する必要があります。

各UICellに画像が表示されるように、ユーザーがセルにタッチすると、対応する画像がユーザーに表示され、画像はユーザー画面にのみ表示され、タッチイベントがあります。ユーザーが画面から指を離すと、画像は再び非表示になります。

これを達成するためのガイドをお願いします

4

2 に答える 2

2

UILongPressGestureRecognizer を使用して画像を変更できます。セルにジェスチャを追加し、hangleLongPress メソッドで画像を変更できます。

UILongPressGestureRecognizer *lpgr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)];
    lpgr.minimumPressDuration = 1.0;  //user must hold for 1 second
    [cell addGestureRecognizer:lpgr];


- (void)handleLongPress:(UIGestureRecognizer *)gestureRecognizer
{
    if (gestureRecognizer.state == UIGestureRecognizerStateBegan)
      {
         // ----------------- Make here image visible ----------
      }

      if (gestureRecognizer.state == UIGestureRecognizerStateEnded)
      {
         // ------------ Make here image invisible ----------
      }
}
于 2013-05-07T05:46:07.790 に答える
0

画像を表示するには、セル内で UIButton を使用してください。実装が容易になります。次のように実装できます。

  • 最初に、ボタンの背景色をクリア カラーに設定します。これにより、隠れたように見えます。

     button.backgroundColor = [UIColor clearColor];
    
  • ボタンの画像を次のように設定します。

     [button setImage: [UIImage imageNamed:@"Default.png"] forState:UIControlStateHighlighted];
    

    これにより、ボタンが押されたときにのみ画像が表示され、タッチを離れると自動的に非表示になります。

それがうまくいくことを願っています。

于 2013-05-07T05:52:32.050 に答える