こんばんは。
Swift初心者の者です。
今回はUILabelやUIViewなどの高さを計算する(取得する)方法について
教えて頂きたいと思います。
例えば以下の様なコードがあったとして
Swift
1var label1 = UILabel() 2var view1 = UIView() 3 4//省略 5var label1Height = self.label1.layer.bounds.height 6var view1Height = self.view1.layer.bounds.height
で高さを取得できると思うのですが、特に高さが可変の
UILabelの場合、高さがうまく取得することができず、レイアウトが
崩れてしまいます。
ちなみに、下記の様なコードを書いています。
Swift
1var myLabel: UILabel = UILabel(frame: CGRectMake(0,0,120,0)) 2myLabel.text = "ユーザーの入力によって変化します" 3myLabel.numberOfLines = 0 4myLabel.sizeToFit() 5myLabel.lineBreakMode = NSLineBreakMode.ByCharWrapping 6self.view.addSubview(myLabel) 7 8var myLabelHeight = self.myLabelHeight.layer.bounds.height
最終的には、上記の myLabelを含んだ下記の様なレイアウトを考えており
myLabelの高さによって、myViewの高さも変わるようにしたいです。
Swift
1myView(UIview) 2 myLabel 3 myImage(高さ固定) 4
少々長くなりましたが、お聞きしたいことをまとめると
①要素の高さの取得方法について、基本的に冒頭で私が書いた
取得方法(layer.bounds.height)で正しいか?
②上記のような高さが動的に可変になるLabelのheightの取得方法
③その他Label以外の高さが可変になる要素のheightの取得法
以上3点についてご教授いただければと思います。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/13 15:04
2015/09/13 15:46
2015/09/14 01:07
2015/09/14 05:33
2015/09/14 05:33
2015/09/14 07:46