【Xcode】warning: Button Style before iOS 15.0 の対処法
Xcode 13.2.1でStoryboardにボタンを追加すると、warning: Button Style before iOS 15.0
という警告メッセージが出たので対処しました。
環境
- Xcode 13.2.1
解決法
Xcode 13.2.1で新しいボタンを追加すると、StyleがPlain
になっています。
このStyleをDefault
に設定すると警告が消えます。
原因調査
UIKitのコードを確認してみると、Styleの選択肢として出てきていたPlain
, Tinted
, Gray
, Filled
はUIButton.Configuration
内でiOS 15
から対応だということが分かる。
plain()
はiOS 15から使用できるものなので、Sytleの値をDefault
に設定すると警告が消えたということになります。
@available(iOS 15.0, tvOS 15.0, *) extension UIButton { public struct Configuration : Hashable { // 省略 public static func plain() -> UIButton.Configuration public static func tinted() -> UIButton.Configuration public static func gray() -> UIButton.Configuration public static func filled() -> UIButton.Configuration
動きを確認
ボタンに文字を表示するだけなら警告が出ている場合でも意図したUIが表示されたが、StyleをPlain
に選択した状態でTitleを空にし、imageだけを設定してiOS 13.1のシュミレーターで表示してみました。
ボタンのタイトルには何も入力していないはずなのに、Button
とタイトルが入力された状態でボタンが描画されました。
おわりに
優しいXcodeは私にPlain
はiOS 15から使える機能だと教えてくれたようだ。
でも、デフォルト値はDefault
にしてくれておいた方がもっと優しいのにと思った。
Xcodeくん、これからも何かあったら逐一報告してね!