はじめに
「この画面にインジケーター出して。白いちょいでかめのやつ。」という要望がきた。
あんまり使ったことがないけど UIActivityIndicatorView 使えばいいんだろうなと思い Style を Large, Color を White Color にして実装してプルリクを出した。
すぐにレビューで 「Style の Large は iOS13 からですよ」と返ってきた。![]()
(※ Deployment Target は 12.0)
対応
確認すると確かになんか警告が出てる...
Storyboard で設定すると Large White は Deprecated になってるのでこれか!と思い使ってしまった...
Storyboard で Style を Large White, Color を Default にしてコードで下記のように設定
@IBOutlet private weak var indicator: UIActivityIndicatorView! {
didSet {
if #available(iOS 13.0, *) {
indicator.style = .large
indicator.color = .white
}
}
}
もしくは iOS13 も Large White にする。
iOS13 と iOS12 未満で書き換えた場合
| iOS12 | iOS13 |
|---|---|
![]() |
![]() |
微妙に中心の円の大きさが違う気がしますが OS の仕様ってことで OK![]()
比較
とりあえずいろんなパターンでみてみました。
両方 Large White & Default Color
両方 Storyboard で Style を Large White, Color を Default に設定(とくに実行時に警告は出ませんでした)
| iOS12 | iOS13 |
|---|---|
![]() |
![]() |
両方 Large & White Color
両方 Storyboard で Style を Large, Color を White Color に設定(とくに実行時に警告は出ませんでした)
| iOS12 | iOS13 |
|---|---|
![]() |
![]() |
勝手に iOS13 未満では Large White に書き換えてくれてるんでしょうか??
さいごに
iOS13 でちょこちょこ Deprecated になってたり追加されたりしているものがあるので気をつけましょう![]()





