3

ご挨拶!

UIActivityIndi​​catorViewをUITableViewのサブビューとして追加しました。意図は、基になるテーブルが新しいデータで更新されたら、このビューをフェード アウトすることです。

問題は、アクティビティ インジケータが表示された後にテーブル ビューのセクション(A、B、C など) が追加されたように見え、アクティビティ インジケータが一瞬ブロックされることです。

セクションを持つテーブルビューのアクティビティインジケーターに関して、この種のことを行うための「より良い方法」(またはより適切な方法) はありますか? loading現在、アクティビティインジケータービューをフェードアウトするためにこれを行っています。

CGContextRef context = UIGraphicsGetCurrentContext();
[UIView beginAnimations:nil context:context];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:1.0];
[loading setAlpha:0.0f];
[UIView commitAnimations];

FWIW、同等のものを呼び出しても、[myTableView bringSubviewToFront:myActivityIndicatorView]問題は解決しないようです。

loadingその上、スーパービューから削除するという問題があります。ローディングビューをコンテキストとして使用して渡す必要があると思います(そして、結局のところ、 CGContextRefsetAnimationDidStopSelector:行は本当に必要ないかもしれません)。

4

1 に答える 1

2

UIViewにサブビューとしてテーブルを含め、データを表示する準備ができるまで、代わりにロードビューをサブビューとしてスワップする方が簡単な場合があります。

于 2009-07-21T18:35:19.723 に答える