3

テーブル ビューに、通常は選択できないセルがいくつかあります。ユーザーは、詳細開示アクセサリを使用して、アイテムの詳細を含む新しいコントローラーをプッシュする必要があります。

ただし、テーブル ビューに戻ったら、行を強調表示して、その人がどこから来たのかを明確にしたいと思います。これを実現するために、selectionStyle を一時的に青に設定し、行を選択または選択解除してから、selectionStyle を none に戻します。

ただし、セルはすぐに selectionStyleNone に戻るため、最終結果は青色ではなく灰色の選択/選択解除になります。

1)選択解除が完了するまで、selectionStyleのこの設定を遅らせるにはどうすればよいですか? 2) その間、私のセルは一時的に速い指で選択可能になります - どうすればこれを回避できますか?

4

2 に答える 2

0

シンプルな NSTimer を使用して、設定した時間枠の後に選択スタイルを none に設定できます...

[NSTimer scheduledTimerWithTimeInterval:1.0f
             target:self
             selector:@selector(methodToSetSelectionStyleToNone:)
             userInfo:nil
             repeats:NO];

...または、カスタム アニメーションを使用して優雅にフェードアウトすることもできます

[UIView animateWithDuration:1.0f delay: 0.0f
    animations:^{
        // set your selectionStyleNone here
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }
    completion:^{

    }
];
于 2012-05-01T04:34:52.087 に答える
0

インデックス パスを保存し、いつでも次のコードを使用します (viewWillAppear または別のメソッドで)。

NSIndexPath//以下のコードでSaved を渡します。このようにして、ユーザーが詳細ビューから戻っても、自分がどの行を選択したかを知ることができます..

-(void)viewWillAppear:(BOOL)animated
{
[tableView1 selectRowAtIndexPath:[NSIndexPath indexPathForRow:4 inSection:0] animated:NO scrollPosition:0]; // you can use this line according your requirements.
}

うまくいけば、これはあなたを助けるでしょう..

于 2012-05-01T05:07:35.753 に答える