2

UITableViewCell を選択すると、- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath呼び出されます。

しかし、UITebleViewCell を保持している場合、どのメソッドが呼び出されますか。みんな私の問題は、大きなセルを含むテーブルビューを作成し、そのセルでビューの背景色をさまざまなビューに設定していることです。

セルを選択すると、セルの背景色が消えます。このような方法でビューの背景色を再度設定することで、この問題を解決しましたdidSelectRowAtIndexPath

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];

    UIView *vLineview=[selectedCell viewWithTag:1];
    vLineview.backgroundColor = [UIColor colorWithRed:(89/255.0) green:(89/255.0) blue:(89/255.0) alpha:1];
}

これでうまくいき、ビューの背景色が表示されますが、 UITableViewCell を保持すると、再び消えます。

どうすればこれを解決できますか? 長いタッチを検出し、ビュー バックグラウンド メソッドを実装するには、ジェスチャ認識エンジンを使用する必要がありますか? または、そのために利用できる他の方法があります。

4

4 に答える 4

0

-(void)beginUpdates
後続の挿入、削除、および選択操作 (cellForRowAtIndexPath: および indexPathsForVisibleRows など) を同時にアニメーション化する場合は、このメソッドを呼び出すという名前のメソッドを参照してください。詳細については、以下のリンクにあるアップルのドキュメントを参照してください
UITableView Class Refrence

また、試してみてください[cell setSelectionStyle:UITableViewCellSelectionStyleNone];

于 2013-06-19T12:31:47.453 に答える