반응형
sizeToFit
- 뷰의 크기에 맞게 변경, UIView 의 함수 이며 아래와 같이 Label 에 사용하는 경우에는 해당 라벨 길이에 맞게 크기가 변경됩니다.
center
- 뷰 프레임 사각형의 중심점, 이 역시 UIView 의 함수 이며 Label 프레임의 중심점을 정합니다.
설명
- 아래와 같이 라벨을 만들 때 sizeToFit 과 center 를 사용하는 경우에는 sizeToFit 을 호출한 후에 center 속성을 설정 해주는 것이 바람직합니다.
- center 속성은 해당 라벨의 중심점을 정해 주는 역할인데 sizeToFit 함수보다 먼저 오는 경우에는 라벨을 선언했을 때의 길이(y: 100)를 기준으로 설정하기 때문에 원하는 대로 화면에 표시되지 않습니다.
- 그렇기 때문에 sizeToFit 함수를 호출하여 라벨 길이를 재조정한 다음에 center 속성을 설정해 준다면 변경된 Label 길이를 이용해 중심점을 잡아줄 것입니다.
현재 뷰에 라벨 추가하는 코드
import UIKit
class CustomViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let title = UILabel(frame: CGRect(x: 0, y: 100, width: 100, height: 30))
title.text = "타이틀"
title.textAlignment = .center
title.font = UIFont.systemFont(ofSize: 14)
title.sizeToFit()
title.center.x = self.view.frame.width / 2
self.view.addSubView(title)
}
}
참고
반응형
'Swift' 카테고리의 다른 글
WKWebview를 이용한 Javascript, Swift 양방향 통신 (3) | 2018.12.06 |
---|---|
@IBDesignable , @IBInspectable in Custom Object (0) | 2018.11.11 |
클래스 내에 멤버 변수를 사용할 때 초기화 시점에 따른 메모리 차지 (0) | 2018.11.11 |
Swift 코드 작성시 변수와 함수 순서 (0) | 2018.11.04 |
프로토타입 셀 제어 (0) | 2018.11.04 |