스위프트 오토레이아웃

Programming 2018. 9. 25. 22:19

가이드를 위한 글은 아니다.

실습을 하다 잊어버리기 쉬운 것을 메모했을 뿐이다.

오토레이아웃이라고는 하지만, 아직까지 공부한 바 차라리 '산술레이아웃'이라는 이름이 더 잘 어울리는 듯.


1차방정식을 식으로 나타내면 y=qx+r이 될 것이다.

AutoLayout에서 multiplier가 q이다.

View1과 View2가 있을 때 아래의 두 문장은 같은 표현이다.

1. View1는 View2의 오른쪽 50지점에 위치한다.

2. View2는 View1의 왼쪽 50지점에 위치한다.


아래의 두 수식도 같은 표현이다.

1. View1.x = View2.x + 50

2. View2.x = View1.x - 50

이건 뭐 수학적으로 너무 당연하다. 


1. View1에서 드래그하여 View2에서 드롭했을 때 View1이 아니라 View2가 좌변이 된다.

=> View2.x = View1.x + 50

2. mutiplier에 11:17이라는 값을 넣고 First Item = View2, Second Item = View1로 설정하면

View2.width = View1.width * (11/17)이다.


3. 등간격으로 배치하기

View1, View2, View3이 있을 때, 모든 CenterX를 SafeArea.Trailing으로 맞춤

각각의 multiplier를 1/4, 2/4, 3/4로 설정하면 등간격으로 맞춰짐

View1.CenterX = (1/4)*SafeArea.Trailing

View2.CenterX = (2/4)*SafeArea.Trailing

View3.CenterX = (3/4)*SafeArea.Trailing


음.. 이정도면 복습은 되었겠군.

그나저나 애플도 깨달은 것이다. 복잡한 UI를 제어하기 위해서는 백날 좋은 그래픽디자인도구가 있어도 소용이 없는 것을.

산술으로 제어하는 게 역시 최고야 -_-...

admin