【Xcode】warning: Button Style before iOS 15.0 の対処法

2022.02.03

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

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, FilledUIButton.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くん、これからも何かあったら逐一報告してね!

参考