swiftでlabelを2つ定義して上下に並べている
TEXT1
TEXT2
このような状態で、稀にTEXT1の文字数がすごく長く2行や3行とかになってしまった場合TEXT1の2行目とTEXT2がかぶってしまいます。
理想の状態は
TEXT1の1行目
TEXT1の2行目
TEXT2
となってほしく、自動でTEXT1の幅(高さ)に応じてTEXT2も下にズレてほしいです
試していないですがTEXT1の高さを取って、TEXT2の開始位置に+すればいいのでしょうか?
よろしくお願いします
storyboardは使用していないです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
こんにちは。
AknEpさんが、おっしゃるとおり、まずは試してみるのが先決かとは思いますが……
もしも、すでにテキストの長さがわかっているようであれば、layer.position で Labelごとの Y座標を指定してあげれば、labelが重なることはありません。
また、Labelの高さを 0に設定し、sizeToFitを使うことで Labelの高さをテキストの長さにあわせて自動的に調整することができます。
下記にサンプルコードを記載し、シミュレータのスクリーンショットを添付させていただきます。
lang
1import UIKit 2 3class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 8 /* 9 テキストを表示しきれない Label1 10 */ 11 12 let myLabel1: UILabel = UILabel(frame: CGRectMake(0,0,300,50)) //Label1の高さを50に設定 13 myLabel1.text = "Hello Swift! Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." 14 myLabel1.backgroundColor = UIColor.cyanColor() 15 myLabel1.layer.position = CGPoint(x: self.view.bounds.width/2,y: 100) 16 // テスト用に行数を無制限に設定 17 myLabel1.numberOfLines = 0; 18 self.view.addSubview(myLabel1) 19 20 21 /* 22 テキストの長さによって高さを動的に調整する Label2 23 */ 24 25 let myLabel2: UILabel = UILabel(frame: CGRectMake(0,0,300,0)) //Label2の高さを0に設定 26 myLabel2.text = "Hello Swift! Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." 27 myLabel2.backgroundColor = UIColor.cyanColor() 28 myLabel2.layer.position = CGPoint(x: self.view.bounds.width/2,y: 200) 29 // 行数を無制限に設定 30 myLabel2.numberOfLines = 0; 31 // 高さを自動調整 32 myLabel2.sizeToFit() 33 self.view.addSubview(myLabel2) 34 35 36 } 37 38 override func didReceiveMemoryWarning() { 39 super.didReceiveMemoryWarning() 40 // Dispose of any resources that can be recreated. 41 } 42 43 44} 45
![イメージ説明]WIDTH:375
以上、ご参考いただければ幸いです。
投稿2015/04/17 03:36
退会済みユーザー
総合スコア0
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。