UIlabel에 동적 높이를 신속하게 부여하기 위해 UILabel의 frame 속성을 사용할 수 있습니다. x 위치, y 위치, 너비 및 높이와 같은 다양한 변수를 제공할 수 있는 CGRect를 사용하여 프레임을 만들 수 있습니다.
레이블을 만들어 뷰에 하위 뷰로 추가해 보겠습니다.
let label = UILabel() label.frame = CGRect(x: 10, y: 40, width: 200, height: 50) label.backgroundColor = colorLiteral(red: 0.7450980544, green: 0.1568627506, blue: 0.07450980693, alpha: 1) label.textColor = colorLiteral(red: 0.05882352963, green: 0.180392161, blue: 0.2470588237, alpha: 1) label.text = "Custom label" self.view.addSubview(label)
이것을 함수에 포함할 수도 있고 확장 기능도 만들 수 있습니다.
func makeLabel(atX x: Double, andY y: Double,width: Double, height: Double) -> UILabel { let label = UILabel() label.frame = CGRect(x: x, y: y, width: width, height: height) label.backgroundColor = colorLiteral(red: 0.7450980544, green: 0.1568627506, blue: 0.07450980693, alpha: 1) label.textColor = colorLiteral(red: 0.05882352963, green: 0.180392161, blue: 0.2470588237, alpha: 1) label.text = "Custom label" return label }
이전 코드와 함께 뷰 컨트롤러 내부에서 사용할 수 있으며, 이것이 기기에서 보이는 방식입니다.
self.view.addSubview(makeLabel(atX: 10, andY: 100, width: 250, height: 100))