🔖

Project 2 of 100 Days of Swift in iOS15 学習記録

2022/03/31に公開

100 Days of Swiftを勉強しているうちに
自分が出会った問題と解決方法を記録します

環境

  • Xcode 13.2.1
  • iPhone SE(1st generation) iOS 15.2

画像の枠線のうちにすきまが出てきます

その原因は
Auto LayoutのUpdate framesを設定するときに
予め設定しておいた幅・縦の値を変更したようです

解決方法は
まずは一つ目のボタンをセレクト

Size inspectorを開けて、Viewのwidthを「200」に変更、heightを「100」に変更します
(修正する前はwidth: 224、height: 114でした)

次はAttributes Inspectorを開けて、Background ConfigurationのContent Insetsを「Custom」に選択
(修正する前はDefaultでした)
(一つ目のボタンをセレクトままの状態で)

そして、もう一度「Update Frames」

残った2つのボタンも、同じように設定したらまたビルド
画像のすきまがなくなることを確認しました

国旗のボタンをクリックしても色が変わらない

その原因は、iOS 15から新しく追加された4つのButton Styleが適用されたからです。

Button Style Version
Default 旧版
Plain iOS 15
Gray iOS 15
Tinted iOS 15
Filled iOS 15

※UIButtonのデフォルト指定は、「Plain」です

国旗のボタンの仕組みは、UIButtonにimageを指定されています。
そういう画像入りのボタンはiOS 15のPlain/Gray/Tinted/Filledを適用してしまうと
クリック効果がなくなるようです。
(普通のテキスト入りのボタンなら影響なし)

なのでButton Styleを変えましょう

まずはボタンをセレクト

Attributes InspectorのButton styleを「Default」に変更
(変更する前は「Plain」でした)

「Default」に変更する途中は、Titleにテキストが入ってしまったが
そのテキストを削除してください

ビルドしてみると
画像が青色になってしまいました

再びAttributes Inspectorに戻り
Typeを「Custom」に変更しました
(変更する前はSystemでした)

もう一度ビルド、成功でした

Discussion