티스토리 뷰
Programmatically Creating Constraints
코드로 오토레이아웃 만드는 방법엔 3가지가 있습니다.
스토리보드로 뷰 등을 만들고 제약을 코드로 지정할 때 translatesAutoresizingMaskIntoConstraints = false 를 꼭 해야합니다.
Layout Anchors
// Get the superview's layout
let margins = view.layoutMarginsGuide
// Pin the leading edge of myView to the margin's leading edge
myView.leadingAnchor.constraint(equalTo: margins.leadingAnchor).isActive = true
// Pin the trailing edge of myView to the margin's trailing edge
myView.trailingAnchor.constraint(equalTo: margins.trailingAnchor).isActive = true
// Give myView a 1:2 aspect ratio
myView.heightAnchor.constraint(equalTo: myView.widthAnchor, multiplier: 2.0).isActive = true
NSLayoutConstraint Class
NSLayoutConstraint(item: myView, attribute: .leading, relatedBy: .equal, toItem: view, attribute: .leadingMargin, multiplier: 1.0, constant: 0.0).isActive = true
NSLayoutConstraint(item: myView, attribute: .trailing, relatedBy: .equal, toItem: view, attribute: .trailingMargin, multiplier: 1.0, constant: 0.0).isActive = true
NSLayoutConstraint(item: myView, attribute: .height, relatedBy: .equal, toItem: myView, attribute:.width, multiplier: 2.0, constant:0.0).isActive = true
Visual Format Language
let views = ["myView" : myView]
let formatString = "|-[myView]-|"
let constraints = NSLayoutConstraint.constraints(withVisualFormat: formatString, options: .alignAllTop, metrics: nil, views: views)
NSLayoutConstraint.activate(constraints)
'iOS' 카테고리의 다른 글
[iOS] 오토레이아웃(Auto Layout)의 모든 것 - 5 / 스냅킷(SnapKit), then 예제 (0) | 2021.01.03 |
---|---|
[iOS] 오토레이아웃(Auto Layout)의 모든 것 - 4 / 오토레이아웃 코드 예제 (0) | 2021.01.03 |
[iOS] 오토레이아웃(Auto Layout)의 모든 것 - 2 (0) | 2021.01.01 |
[iOS] 오토레이아웃(Auto Layout)의 모든 것 - 1 (hugging, compression) (1) | 2020.12.29 |
[iOS] swift storyboard components (0) | 2020.12.29 |
댓글
공지사항