2011-07-06 6 views
2

私はtableviewを持っていて、8個のセルにはそれぞれのセルのサブビューとしてuitextfieldsが含まれています。これは基本的にユーザーが入力する必要があるフォームのようなもので、ユーザーが入力を開始している間にいくつかのエフェクトが必要です。UITableViewCellハイライトとエフェクト

TextFieldDidBeginEditingメソッドが呼び出されると、対応するUITableViewCellが強調表示され、他のすべてのUITableViewCellが並べ替えられて「淡色表示」されます。このエフェクトは、ユーザーが入力している特定のtextFieldにフォーカスするようにします。これを自分のコードに実装しようとしています。

これは可能ですか?もし誰かがこの効果で私を助けることができたら、私はそれを感謝します!ここで

答えて

4

あなたが行く:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    NSArray*cells = [_regTable visibleCells]; 

    UITableViewCell*currentcell = [_regTable cellForRowAtIndexPath:indexPath]; 

    for (UITableViewCell*cell in cells) 
    { 
     if ([cell isEqual:currentCell] == NO) //You'll have to think on how to distinguish a selected cell from an unselected one - if you go the default way then that's how its done 
     { 
      [UIView beginAnimations:nil context:NULL]; 
      [UIView setAnimationDuration:0.5]; 
      cell.alpha = 0.5; 
      [UIView commitAnimations]; 
     } 
     else 
     { 
      [UIView beginAnimations:nil context:NULL]; 
      [UIView setAnimationDuration:0.5]; 
      cell.alpha = 1.0; 
      [UIView commitAnimations]; 
     } 

    } 
} 
+0

フムを。入力に感謝します。私は「アルファ」の文脈を理解することができ、始めるには良い場所のように思えます。あなたのコードから、これはuitableviewcell全体に影響しますか? – Legolas

+0

'UITableViewCell'は' UIView'です。だから、単に 'cell.alpha'に行き、希望の値を設定することができますが、少し奇妙に見えるので、セルにいくつかの狂った効果があるので、これをお勧めしません。 :P – Pripyat

+0

「UIView」フェードアニメーションも追加されました。試してみる! – Pripyat

関連する問題