見出し画像

[Swift/StoryBoard]Labelの文字列が全部表示されない。

こんにちは。iOSアプリ制作始めたての樋園です。
勉強中に以下のような症状に出会い解決したので記事にしました。


プログラムで記述設定した文字列がすべて表示されない現象

[結論]

解決方法は以下の二つ。

  • 水平位置と垂直位置を固定する方法。

  • ラベルの枠の大きさを大きくする方法。

[水平位置と垂直位置を固定する方法]

Add New Alignment Constraint から Horizontally in Container, Vertically in Container を選択して追加する。
位置をど真ん中から変えたい時はそれぞれのConstantの値を指定する。
この時、Use Canvas Valueで今ストーリーボード上で配置している位置に指定できる。

この方法のメリットは特に他にプログラムをいじらなくても同じフォントサイズで表示してくれるところ。
デメリットは長すぎる文字列は画面外に、はみ出る可能性があること。

表示する文字列が長すぎてはみ出てしまった例

[ラベルの枠を大きくする方法]

単純にラベルの枠を大きくすることで入る文字数を広げる方法である。
メリットは決めた枠の大きさをはみ出さないこと。
デメリットにプログラムで長い文字列を代入した時にやはり表示されなくなる可能性があるが、画面の小さいスマホの特性から考えて、自動で文字サイズをフィットさせる機能を利用した方が都合がいいことも多そうである。

labelオブジェクトのadjustsFontSizeToFitWidthをtrueに設定した。
この場合文字サイズが小さくなりすぎないようにも注意したい。

[考察]

どちらの方法にも良い点と悪い点があるので、自分が作りたいアプリとその特性にあった方法を取るのが最適だと思いました。

今回の記事は以上です。

この記事が気に入ったらサポートをしてみませんか?