Swift 6での書き方
ステータスバーの通信インジケーターAPIはiOS 13で非推奨になり、現在の表示方法としては使えないよ。UIActivityIndicatorViewなどをアプリの画面内に置こう。読み込み開始時にsetLoading(true)、完了時にsetLoading(false)と呼び出す例だよ。ステータスバー内へ表示するコードではないよ。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import UIKit class LoadingExample: UIViewController { let indicator = UIActivityIndicatorView(style: .medium) override func viewDidLoad() { super.viewDidLoad() indicator.hidesWhenStopped = true indicator.center = view.center indicator.autoresizingMask = [.flexibleLeftMargin, .flexibleRightMargin, .flexibleTopMargin, .flexibleBottomMargin] view.addSubview(indicator) } func setLoading(_ isLoading: Bool) { if isLoading { indicator.startAnimating() } else { indicator.stopAnimating() } } } |
以下は旧バージョン当時の記録
処理中、特に通信時にStatusBarにIndicatorを表示することはよくあるよね。
てかこれが原因で審査落とされることもあるんだっけ、たしか。
SwiftでIndicator(インジケーター)をStatusBarに表示する
|
1 2 3 4 5 |
// インジケーターの表示(読み込み開始時などに挿入) UIApplication.shared.isNetworkActivityIndicatorVisible = true // インジケーターの非表示(読み込み完了時などに挿入) UIApplication.shared.isNetworkActivityIndicatorVisible = false |
こんな感じに、カンタンにインジケーターの表示が可能だよ。
基本的に通信や、WebViewの読み込みなど発生するときはこれをしっかり入れておこう。
