Interface Builder (Xcode의 Storyboard 편집기)를 사용하면 쉽게이를 수행 할 수 있습니다. 현재있는 모든 요소를 그대로두고 모든 것을 설정할 때까지 제약 조건에 대해 걱정하지 마십시오. (프로그램 적으로 여기에 설명 된 모든 것을 만들 수도 있지만 UIScrollView를 사용하여 콘텐츠를 스크롤 할 수있게해야합니다. 또 다른 옵션은 UITableView가 될 수 있지만 더 많은 작업이 필요하며 모든 것을 다시 작성해야합니다. 질문. 그냥 완료하고 싶다.)
ViewController에는 기본보기가 있습니다. 개체 라이브러리에서 UIScrollView
을보기로 끌어옵니다. ScrollView의 Top Anchor
, Trailing Anchor
, Bottom Anchor
및 Leading Anchor
에 Main View에 대한 제약 조건을 각각 0으로 지정하십시오.
요소를 Scrollview에 추가하는 가장 쉬운 방법은 세로 UIStackView
을 사용하는 것입니다. 이를 수행하고 제약 조건 문제를 가져 오지 않으려면 UIView
을 컨테이너로 scrollview에 추가해야합니다. 위에서 언급 한 4 개의 앵커 (이번에는 컨테이너의 앵커)에 Scrollview에 0 상수 제한을 지정하십시오. 또한 Main View에 동일한 너비 제약 조건을 부여하십시오.
이제 StackView를 컨테이너에 추가하고 4 개의 앵커도 설정합니다 (이번은 물론 컨테이너로 설정). 이제 요소를 StackView로 드래그 할 수 있습니다. 그래도 UIStackView
은 필요하지 않습니다. 모든 요소를 컨테이너에 추가 할 수 있지만 컨테이너에는 높이 및 너비 제약 조건이 필요합니다. 우리는 이미 폭 제한을 설정 했으므로, 요소에 따라 높이 제한을 직접 수행해야합니다. 후자는 UIStackView
에 의해 자동으로 관리됩니다.
이제 제약 조건 설정을 시작할 수 있습니다 (높이 제한이 필요하지 않습니다. 스택 높이가 자동으로 높이를 계산하므로). ScrollView는 내용의 높이와 너비가 필요합니다. 그것은 StackView에서 자동으로 높이가됩니다. 장치에서 실행될 때 StackView의 내용이 더 이상 화면에 맞지 않으면 ScrollView는 자동으로 스크롤 할 수있게됩니다. ScrollView는 기본 너비의 너비를 따르므로 너비가 설정된 컨테이너에서 너비를 가져옵니다. 앵커를 설정할 때 Constrain to margins
의 확인란이 선택 취소되어 있는지 확인하십시오.
내 긴 설명이 설명하기 위해 도움이 아래의 사진을 희망 :
당신은 UIView의로 현재 화면을 만들 수 있습니다 (또는있는 UIViewController로 왼쪽을, 그러나보기는 더 분명하다), 그리고 코드에서 스크롤 뷰의 맨 위에이 뷰를 추가하십시오. Autolayout이 경우 코드에서해야합니다. –
감사합니다. 어떻게 말해 줄 수 있니? 내가 createViewController : UIViewController 있다고 가정합니다. –
@PhilEdge - 현재 화면을 어떻게 배치했는지에 대한 이미지 캡을 표시 할 수 있습니까? 개별 레이블, 텍스트 필드 및 단추 (제약 조건 포함)? 또는 일련의 하위보기? 또는 스택보기에 있습니까? – DonMag