4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

iOS13、Xcode11 私はこうしてつまずいたAdvent Calendar 2019

Day 11

iOS13のUIActivityIndicatorViewにつまずいた

Last updated at Posted at 2019-12-10

はじめに

「この画面にインジケーター出して。白いちょいでかめのやつ。」という要望がきた。

あんまり使ったことがないけど UIActivityIndicatorView 使えばいいんだろうなと思い StyleLarge, ColorWhite Color にして実装してプルリクを出した。

すぐにレビューで 「StyleLarge は iOS13 からですよ」と返ってきた。:see_no_evil:

(※ Deployment Target は 12.0)

対応

確認すると確かになんか警告が出てる...

warning

Storyboard で設定すると Large White は Deprecated になってるのでこれか!と思い使ってしまった...

style

Storyboard で StyleLarge White, ColorDefault にしてコードで下記のように設定

@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
12 13

微妙に中心の円の大きさが違う気がしますが OS の仕様ってことで OK:thumbsup:

比較

とりあえずいろんなパターンでみてみました。

両方 Large White & Default Color

両方 Storyboard で StyleLarge White, ColorDefault に設定(とくに実行時に警告は出ませんでした)

iOS12 iOS13
12_large_white 13_large_white

両方 Large & White Color

両方 Storyboard で StyleLarge, ColorWhite Color に設定(とくに実行時に警告は出ませんでした)

iOS12 iOS13
12_large 13_large

勝手に iOS13 未満では Large White に書き換えてくれてるんでしょうか??

さいごに

iOS13 でちょこちょこ Deprecated になってたり追加されたりしているものがあるので気をつけましょう:smiley_cat:

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?