UITableViewCellで行が選択されているときに、2〜3秒かかるアクションがあります。私が何かしているセルを選択したときにユーザーからのフィードバックを得たいと思っています。現在は、tableviewcellのハイライトが表示されています。私は私のビューにUIActivityIndicatorViewを追加しました。私はデフォルトで隠している。私は私のdidSelectRowAtIndexPathでこれをやろう:UITableViewCellのUIActivityIndicatorViewが選択項目に表示されない
{
CustomCell *cell = (CustomCell *)[tableView cellForRowAtIndexPath:indexPath];
cell.activityIndicator.hidden = NO;
[cell.activityIndicator startAnimating];
// do long task
[cell.activityIndicator stopAnimating];
cell.activityIndicator.hidden = YES;
}
このコードは私のactivityindicatorは表示されません。私は私のCustomCellクラスの
setCustomObject:(id)newObject
に
activityIndicator.hidden = YES;
を削除した場合、私は、インジケータが表示されません。それは静的だけど。セルをクリックして長いタスクが実行されている間にアニメーションを作成し、長いタスクが終了したときにアニメーションを停止して再び非表示にするまで、非表示にしたい何かご意見は?ありがとう! setCustomObjectで
での活動の指標を更新してみますが、行の選択を解除されるか、行が強調表示さ滞在していますか? –
@obuseme私はそれをいくつかの方法で試しました。 selectionStyleをnoneにしてみましたが、アニメーションの開始前にdeselectRowAtIndexPathを呼び出して試しました。どちらも動作しません。私はあなたの答えであなたが推奨したことをやろうとしましたが、それはどちらもうまくいかなかったのです。あなたの答えがダニエルビアードの答えと組み合わさって、そのようなメインスレッドでそれを行うと、私はそれも見ません。アニメーションの停止をコメントアウトして、アニメーションを開始するダニエルビードの答えをコメントすると、セル – Crystal
@obusemeを持つビューにポップアップするとアクティビティインジケータが表示されますが、それは明らかに私が欲しいものではありません。それをアニメーション化してから、そのビューに戻るときにアニメーションを停止する必要があります。長いタスクは、表示する次のビューを設定することで、そのタスクのインジケータを表示したかったのです。 – Crystal