はじめに
「この画面にインジケーター出して。白いちょいでかめのやつ。」という要望がきた。
あんまり使ったことがないけど 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 になってたり追加されたりしているものがあるので気をつけましょう