asky

主にAndroidやiOSの開発について綴っています。また、使っている好きなアプリや全く関係のない話はDiaryで書いていきたいです。

Swift:UITableViewCellのあれこれ(随時更新)

ここでは、UITableViewCellについてのTipsを随時更新したいと思います(●´ω`●)

セルをXIBの設定だけで可変にする

セルをXIBの設定だけで可変にする


◆ 今回使うセル
以前のブログで書いたカスタムセルを使います。
asky.hatenablog.com

↓↓↓ このセルの設定をゴゾゴゾ変えてみます ↓↓↓


今回は{タイトル}が可変となります。

まず結論を言いますと、
XIBの設定だけで可変にするには、
AutoLayoutをいい塩梅にしたり、Linesを変更します。

No.の部分の設定は、下の画像を参照。

では、成功パターンの前にダメなパターンを書いてみます。


◆ ダメなパターン1:文字が見切れる

セルをXIBの設定だけで可変にする

【原因】
タイトルのLinesが1行になっている。

【理由】
UILabelをXIBへ配置した際には、デフォルトとしてLinesが1行になっています。
文字が2行以上になっても、設定が1行なので見切れます。

【解決】
タイトルのLinesを0行にしましょう( ´ ▽ ` )


◆ ダメなパターン2:セルからはみ出る

ダメパターン1を解決したから、もう大丈夫!?
いやいや、表示してみると。。。あれま、セルからはみ出てます(・∀・)

セルをXIBの設定だけで可変にする

【原因】
タイトルのAutoLayoutが適切な設定をしていない。

【理由】
下の画像のように、タイトルのAutoLayoutを中央で設定していると、
セルのViewに対して上下の制約がないために、
「セルの高さなんて関係ないよー」とグレるようですね。

【解決】
タイトルのAutoLayoutの設定として、
セルのViewに対して「私はこの範囲を使いますね♪」と明示的な設定をします。


ちなみに、右側の制約を付けていないと、文字が見切れる原因になります。


成功パターン

ダメなパターンの【解決】をまとめると成功にたどり着きます♪

可変にしたいオブジェクト(UILabelぐらいかな?)の設定は、
1. Linesを0にする!
2. セルのViewに対して、上下左右のAutoLayoutを適切な設定する!

余談

先日のブログで書いたスクショができるおすすめアプリのMonosnap。
asky.hatenablog.com

Windows版もあったので、早速仕事用のPCにもインストールしました♪
これで、Windowsでの画面スクショも快適です(о´∀`о)