#はじめに
最近アプリを作成しており忙しくて投稿していなかったのですが、
ある程度の機能は実装できたので久しぶりに投稿したいと思います。
今回は、実際に私も遭遇した警告についてです。
とりあえず警告を全て消したいなと思ったので対処していたのですが、
その中でも解決に時間がかかった警告について共有いたします。
どなたかの解決に繋がりましたら幸いです。
#警告内容
タイトルにもありますが、表示される警告文は下記のものになります。
Fixed width constraints may cause clipping
この警告は、Storyboardにオブジェクトを追加し、AutoLayoutでwidth固定の制約をつけると出現します。
内容を和訳すると固定幅の制約によりクリッピングが発生する可能性があります
とのことです。
あっているのかわかりませんが、widthの幅を固定にすると、
フォントの変化などにより文字列の横幅が変わるので固定幅にすると文字が切れる可能性がありますよ!
という感じの警告だと思っています・・・。
私が設定した固定幅は多少の変化など問題ないくらいの余裕があるはずですが、
なぜかこの警告が出てしまいます。
(定数ではなく変数だとテキストの内容が変わるのでそれが原因なのかな?)
原因はなんとなくわかったので、次に警告を消すための解決策についてです。
##解決策
結論から言いますと、固定幅をequal
ではなくGreater Than or Equal
に変更すればOKです!
つまり横幅をイコール(=)
から以上(≧)
にするということです。
制約した横幅で収まりそうな場合はその固定幅で、
収まらなさそうな場合はその都度サイズを変更してくれる。
といった感じになります。
実際の変更手順は下記のようになります。
##手順
###パターン1
①StoryBoard右上の警告マークをクリックする
②表示されている警告の中から該当するものを選択する
③Relation
をEqualからGreater Than or Equal
に変更する
###パターン2
①StoryBoardから警告が出ているオブジェクトをクリックする
②右メニューの上のロゴ?を三角定規に合わせる
③少し下にスクロールしwidthの制約をダブルクリックする
④Relation
をEqualからGreater Than or Equal
に変更する
上記のどちらかのパターンで解決できるはずです!
#さいごに
今回は、制約のwidthを超えることはないのでこのように解決しましたが、
本来ならしっかりと考えて変更するべき内容でもあるのかなと思います。
UI・UXは大事!というのはよく聞きますが、
こういった箇所の設計などは独学では少しハードルが高い気がします。
早く仕事でSwiftに触れたいものです・・・。
以上、最後までご覧いただきありがとうございました!