[iOS 오토레이아웃 Views with Intrinsic Content Size] Dynamic Height Label and Text Field 전 글(2018/07/29 - [iOS] - [iOS 오토레이아웃 Views with Intrinsic Content Size] Simple Label and Text Field)에서는 textfield가 Safe area.top 기준으로 20으로 고정이었습니다. 이번에는 고정이 아닌 유동적으로 변하는 예제입니다. label의 font 크기를 키우면 text field의 제약조건이 커집니다. 반대도 마찬가지입니다. 하지만 두개 다 text를 다루고 있으므로 한 쪽을 키우면 다른 한쪽도 키우기 마련입니다. 따라서 예제 자체는 억지스러운 면이 있습니다. 이 예제..
[iOS 오토레이아웃 Views with Intrinsic Content Size] Simple Label and Text Fieldfrom apple auto layout guide 간단하게 label과 text field로 hugging priority와 compression resistance를 알아보겠습니다. 1. 뷰컨트롤러에 label과 text field를 가져와서 아래처럼 제약조건을 걸어줍니다.* (1,2번) safe area에는 margin이 없기 때문에 +8 을 해줍니다.* 3번의 standard는 애플에서 지정한 뷰끼리의 표준간격(?)이라고 보시면 됩니다. * baseline은 text를 기반으로 한 label이나 textField에 있는 기준선이라고 보시면 됩니다. 이 기준선은 tex..
[iOS 오토레이아웃 simple constraints] Two Views with Complex Widthfrom apple auto layout guide 전 글(2018/07/28 - [iOS] - [iOS 오토 레이아웃 simple constraints] Two Different-Width Views) 이랑 거의 같습니다. 전 글에서는 두 개의 view의 width가 2배 차이가 났다면, 이 글에서는 하나의 뷰의 width가 최소 150인 것을 보장해주면서 2배가 되는 것을 보여줍니다. 1. 전 글 제약조건에서 yellow view.width >= 150 하나만 추가 해주고 gree view.wdith = 2 * yellow view.width의 priority를 750으로 바꿔주면 됩니다. * ..
[iOS 오토레이아웃 simple constraints] Two Different-Width Viewsfrom apple auto layout guide 하나의 뷰가 다른 뷰의 2배 너비를 같도록 하는 ui를 만들어 보겠습니다. 전 글(2018/07/27 - [iOS] - [iOS Auto layout simple constraints] Two Equal-Width Views)이랑 거의 비슷합니다. 제약조건 중 yellow view.width = green view.width를 green view.width = 2 * yellow view.width로 바꿔주면 됩니다. 바꾸는 방법은 아래 사진처럼 Multiplier를 2로 설정해 주면 됩니다. multiplier는 숫자(2), 퍼센트(200%), 분수(..
[iOS Auto layout simple constraints] Two Equal-Width Viewsfrom apple auto layout guide 어떤 상황에서든 같은 width를 같는 Two Equal-Width Views를 만들어 보겠습니다. 1. VC에 2개의 view를 가져다 놓고 제약조건을 위 사진과 같이 줍니다. - 제약조건에서 봐야 할 것은 Yellow View.width = Green View.width입니다. 다른 제약조건도 있어야 하지만 결국엔 이 제약조건이 두 개의 너비를 같게 만듭니다. - 그리고 이 단계에서는 제약조건보다는 접근 방법에 대한 설명이 많습니다. 사실 위와 같은 뷰 구조를 만드는 방법은 여러가지입니다. 방법마다 장단점도 다릅니다. 그리고 그 방법들 중에 하나를..
[iOS Auto layout simple constraints] Adaptive single viewfrom apple auto layout guide 아래 사진처럼 상태바가 있으면 상태바기준으로 8만큼 떨어지고 상태바가 없으면 superview 기준으로 20만큼 떨어지는 Adaptive single view를 만들겠습니다. 1. 아래와 같이 제약조건을 걸어줍니다.View.Leading = Safe Area.leading + 20View.Trailing = Safe Area.trailing + 20View.bottom = Safe Area.bottom + 20View.top = Safe Area.top + 8 @ 750View.top >= Superview.top + 20여기서 중요한 것은 view.t..
[iOS Auto layout simple constraints] simple single viewfrom apple auto layout guide * 2016년 3월이 마지막 업데이트이고, 더 이상 업데이트가 되지 않는다고 합니다, 그래서 문서에 iOS11부터 추가된 safe area가 아닌 Top bottom layout guide로 돼 있습니다. 저는 safe area로 해서 하겠습니다. safe area라고 해서 특별한 것은 아니고, 기존에 있던 top&bottom layout guide를 합친 겁니다. 이것들의 기능을 말하자면, 아이폰의 사용 가능한 화면을 가이드 해주는 겁니다. 아이폰이 세로일 때는 상단에 상태바나, 네비게이션바, 툴바, 하단에 탭바가 나타나는 경우가 있습니다. 이때 이러한 ..
[IOS AUTO LAYOUT] Dynamic Stack Viewhttps://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/LayoutUsingStackViews.html#//apple_ref/doc/uid/TP40010853-CH11-SW1 코드로 스택뷰를 만들고 추가, 삭제 하면서 위와 같은 UI를 만들어 본다. (notice, 위 UI는 table view로 하는 게 더 좋다.) 1.스크롤뷰를 뷰컨트롤러에 위치시키고 Safe Area에 Constraints를 걸어준다 - 보기 편하게 leading과 trailing은 8정도 띄어준다 - add button을 위해서 bottom은 20정도..
[IOS AUTOLAYOUT] Nested Stack Viewsfrom apple auto layout guide document 1. 일단 해당하는 뷰들을 위 사진과 유사하게 위치한다 2 총 7개의 stack view를 가지고 안에서 부터 작게 만든다 2-2 제약사항을 걸어줍니다. - root stackview는 root view controller 크기에 맞게 채운다. (약간의 여백) - 이미지 뷰는 비율이 1:1 ( 가로 세로 길이가 같게) - 3개의 text field에 크기는 같게 2-3 sack view 속성을 수정해 준다.StackAxisAlignmentDistributionSpacingFirst NameHorizontalFirst BaselineFill8Middle NameHorizonta..