Project 2 of 100 Days of Swift in iOS15 学習記録
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