[iOS 오토레이아웃 가이드] Advanced Auto Layout - Working with Scroll Views스크롤뷰를 사용할 때 기본적으로 스크롤뷰 frame의 위치와 사이즈 그리고 스크롤뷰 안에 들가는 content view의 사이즈를 다 정의해야 합니다. 스크롤뷰를 지원하기 위해서 auto layout engine은 제약조건을 다르게 해석합니다. 제약조건이 어디에 있는지 에 따라서 - 다른 뷰와 마찬가지로 스크롤 뷰와 스크롤 뷰 밖에 있는 뷰간의 제약조건은 스크롤뷰 frame에 제약조건이 걸립니다. - 스크롤뷰와 스크롤뷰 안에 들어가는 서브뷰들은 속성에 따라 달라집니다. - 스크롤뷰의 edges 나 margins에 제약조건을 걸면 스크롤뷰의 content area에 걸립니다. - 높이, 너비..
[iOS 오토레이아웃 가이드] Advanced Auto Layout - Working with Self-Sizing Table View cells오토레이아웃으로 table view cell의 높이를 지정할 수 있습니다. 이는 기본적으로 돼 있지 않아서 추가적으로 코드를 적어줘야 합니다. 기본적으로 table view cell의 높이는 table view delegate method 중의 하나인 tableview:heightForRowAtIndexpath 메소드가 정합니다. cell 높이가 유동적으로 변하게 하기 위해서는 다음과 같이 해줘야 합니다. tableView.estimatedRowHeight = 85.0tableView.rowHeight = UITableViewAutomaticDimension 그..
[iOS 오토레이아웃 가이드] Advanced Auto Layout - Size Class specific Layout스토리보드에서는 기본적으로 szie class를 사용합니다. 사이즈 클래스는 scene이나 view같은 UI elements에 할당된 특성입니다. 이는 element 사이즈를 대략적으로 나타냅니다. 사이즈 클래스마다 다양한 값을 지정할 수 있습니다.사이즈 클래스가 바뀔 때마다 layout이 자동으로 바뀝니다. 사이즈 클래스에서 할 수 있는 것은 다음과 같습니다. - view나 control을 나타나게 하거나 없애거나- 제약조건은 나타나게 하거나 없애거나- 폰트나 layout margin 같은 뷰의 속성을 다양하게 시스템이 scene을 로드하면 뷰, 컨트롤, 제약조건들을 인스턴스화 하고 적..