36
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

UILabelの高さを動的に可変させ,textを複数行表示する

テキストのfontsizeを変えずにまぁまぁ長い文を表示させたかった。

Labelの高さを可変させる

@IBOutlet var titleLabel: UILabel!
//表示可能最大行数を指定
titleLabel.numberOfLines = 0 
//contentsのサイズに合わせてobujectのサイズを変える
titleLabel.sizeToFit() 
//単語の途中で改行されないようにする
titleLabel.lineBreakMode = NSLineBreakByWordWrapping

基本的にはこれだけ。

このLabelの下に何かを置く時は...

えーっと、普通にstoryboardで設置すると、labelが大きくなった分が他のオブジェクトと重なってしまうから記述します。
今回はtableviewを下に置くことにします。

//labelのframe(位置とサイズ)を取っとく
labelframe = titleLabel.frame
//tableviewの位置指定
tableView.frame.origin.x = 0
tableView.frame.origin.y = labelframe.origin.y + labelframe.size.height
tableView.sizeToFit()

こんな感じ?

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
36
Help us understand the problem. What are the problem?