Xcode 12でビルドするとiOS 14でUISearchBarの高さが変わる

2021.03.05

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

こんにちは。きんくまです。 小ネタです!

タイトルの通りなのですが、既存のプロジェクトをXcode 12でビルドするとiOS 14でUISearchBarの高さが変わりました。

調べたところ、フォントサイズの指定をすると変わってしまうようです。

Why, in iOS14, is a UISearchBar with a size 17 system font a different height to the default? [closed]

コード

searchBarWithFont.searchTextField.font = UIFont.systemFont(ofSize: 16)

現象がおきるパターン

iOS 14 iOS 13以下
Xcode 12でビルド おきる おきない
Xcode 11でビルド おきない おきない

対応

もともとのUISearchBarはデフォルトのフォントサイズが小さかったのでフォント指定していました。
またiOS 14以降しか起きないので、if文で対応しました。

        if #available(iOS 14, *) {

        } else {
            searchBarWithFont.searchTextField.font = UIFont.systemFont(ofSize: 16)
        }

以上です!