技術的には可能ですが、サポートされていません。あなたは Dave の提案に従うか、そう主張するなら読み進めたほうがよいでしょう。
のサブビューを調べるUIRefreshControl
と、 class の 1 つのサブビューが含まれていることがわかります_UIRefreshControlDefaultContentView
。
次に、そのコンテンツ ビューのサブビューを更新状態で確認すると、次の内容が含まれます。
UILabel
UIActivityIndicatorView
UIImageView
UIImageView
したがって、技術的には、イベントへのコールバックでUIControlEventValueChanged
次のようなことができます。
UIActivityIndicatorView *spinner = [[[[self.refreshControl subviews] lastObject] subviews] objectAtIndex:1];
spinner.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhite;
そして、それはうまくいくでしょう。また、プライベート API を使用しないため、アプリ レビュー ガイドラインにも違反していません (ビューのサブビューを参照し、パブリック API を使用してそれらを操作することは合法です)。ただし、 の内部実装はUIRefreshControl
いつでも変更される可能性があり、iOS の新しいバージョンではコードが機能しなくなったり、クラッシュしたりする可能性があることに注意してください。