UILabel에서 여러 줄을 표시하려면

5918 단어 XcodeiOSSwift
iOS 앱을 개발하기 시작했는데, 몰랐기 때문에 고전했기 때문에, 잊지 않도록 비망록을 남긴다.

TL;DR


numberOfLines0 로 한다. (그것만)

해보자



UILabel 설치



Label을 표시하는 간단한 앱을 만듭니다.
storyboard에서 UILabel을 배치하고 자세한 내용은 코드로 작성합니다.

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var testLabel: UILabel!


    override func viewDidLoad() {
        super.viewDidLoad()

        setupLabel()
    }

    func setupLabel() {
        testLabel.text = "ラベルだよ"
        testLabel.backgroundColor = UIColor(red: 0, green: 0, blue: 1, alpha: 0.3)
    }


}

(UILabel 자체가 보기 쉽도록 얇게 배경색을 붙인다)

이런 느낌.


긴 문장으로 해보자



Label에 표시시키는 문장을 1행 이상이 되도록 해본다.
이 Label의 아직은, 분명히 높이가 부족하기 때문에, 충분한 높이로 해 둔다.

코드를 조금 수정합니다.

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var testLabel: UILabel!
    /// 高さを調整するためにConstraintを追加
    @IBOutlet weak var testLabelHeight: NSLayoutConstraint!


    override func viewDidLoad() {
        super.viewDidLoad()

        setupLabel()
    }

    func setupLabel() {
        testLabel.text = "とっても長い文章になるよ。とっても長い文章になるよ。とっても長い文章になるよ。とっても長い文章になるよ。"
        testLabel.backgroundColor = UIColor(red: 0, green: 0, blue: 1, alpha: 0.3)

        /// 複数行表示させるため
        testLabelHeight.constant = 80
    }


}

그것이, 이렇게.


네...
좋은 느낌으로 생략하고 있습니다 ...

행 수를 설정하는 항목이있었습니다.



높이를 아무리 해도, 제대로 1행에 담아준다.
울면서 조사해 보면 行数 를 설정할 수 있는 것을 알았다.

방금 전의 setupLabel()에 이것을 추가한다.

/// 行数調整
testLabel.numberOfLines = 0

그러면 맑고 목적대로 된다.


요약



디폴트에서는 행수는 1 로 되어 있으므로, 지정한 행수로 하고 싶으면, 그 수치를 넣는다.
몇 줄이 되어도 좋으니, 모두 표시시키려면 0를 넣으면 된다.

(분명히 전부 표시해 주는 것이라고 생각하고 있었으므로, 어쨌든 신기했습니다...)

덧붙여서, storyboard상에서도 이 항목의 설정은 있다.

좋은 웹페이지 즐겨찾기