[iOS] Layout(1) - Frame-Based Layout
2023. 1. 21. 23:02
iOS/iOS
"Frame-Based Layout"은 Programmatically하게 view들의 frame을 지정해주는 방식이다. Frame "Frame Rectangle"은 superView로부터 view의 location과 size를 정의한다. var frame: CGRect { get set } frame은 CGRect 타입의 변수인데, CGRect은 location을 저장할 수 있는 origin프로퍼티와 size를 정의할 수 있는 size 프로퍼티가 존재한다. public struct CGRect { public init() public init(origin: CGPoint, size: CGSize) public var origin: CGPoint public var size: CGSize } 이때 정의한 ..
[iOS] View Update Cycle(2) - layout, constraints, display
2022. 11. 19. 16:57
iOS/iOS
지난 포스팅에서 Main Run Loop과 Update Cycle에 대해 알아보았다. 이 Update Cycle은 view들을 layout, constraints, display 하는 작업을 담당하였다. Auto Layout에서 이들은 3단계를 거치게 되는데 Constraints: 시스템은 모든 constraints를 계산하고 설정한다. Layout: View의 배치하고, subview를 배치한다. Display: 필요한 경우 다시 그린다. 이번 포스팅에서는 layout, constraints, display가 어떻게 진행되고, 어떠한 메서드들이 있는지 알아보자 Layout view들의 position과 size들을 의미한다. view들의 Layout 변화는 layoutSubViews() 메서드에서 진행..