컨테이너 뷰에 3 개의 서브 뷰 (UILabel
, UIImageview
, UIButton
)를 배치했습니다. 모든 하위 뷰는 시각적 형식 언어 (VFL)를 사용하여 배치됩니다. 하위보기에는 선행, 위쪽 가장자리 등으로부터 채우기가 있습니다. 하위보기의 내용은 동적이어서 크기가 항상 변경됩니다. 모든 서브 뷰에 정확히 맞도록 수퍼 뷰 (컨테이너 뷰)의 크기를 조정하려고합니다. 자동 레이아웃으로 가능합니까? 나는 여기서 이해할 수없는 본질적인 크기를 제안하는 링크를 보았다. 누군가가 이것을 달성 할 수있는 더 좋은 방법을 제안 할 수 있습니까?서브 뷰에 따라 수퍼 뷰의 크기 조정
답변
예, 가능합니다. 하위 뷰 컨텐츠에 따라 수퍼 뷰의 크기를 조정하려는 경우 고유 컨텐츠 크기를 사용하는 것이 좋습니다.
뛰어난 Wanderlich 사이트에는이 글을 잘 설명하는 자습서가 있습니다. 그것은 Beginning Auto Layout in iOS 6: Part 2/2입니다 :
자동 레이아웃하기 전에, 당신은 항상 버튼 및 기타 컨트롤을 이야기했다
고유 컨텐츠 크기 그들은 중 하나를 자신의 프레임 또는 경계 속성을 설정하거나 그들을 크기를 조정하여 어떻게해야 큰 인터페이스 빌더. 그러나 은 대부분의 컨트롤이 콘텐츠에 따라 필요한 공간을 정확히 결정할 수 있다고합니다.
레이블은 의 길이와 그 글꼴의 글꼴 크기가 인 텍스트를 알고 있기 때문에 글꼴의 너비와 높이를 알고 있습니다. 마찬가지로 텍스트를 배경 이미지와 결합하고 둥근 모서리에 대해 약간의 패딩을 지정할 수있는 버튼에 대해서도 마찬가지입니다.
세그먼트 컨트롤, 진행률 막대 및 다른 대부분의 컨트롤에 대해서도 마찬가지입니다. 일부 컨트롤은 미리 지정된 높이 만 가질 수 있지만 알 수없는 너비는 있습니다.
이것은 고유 한 콘텐츠 크기로 알려져 있으며 자동 레이아웃에서 중요한 개념입니다 ( ). 이미 버튼을 사용하여 동작을 보았습니다. 자동 레이아웃 (Auto Layout)은 컨트롤의 크기를 묻고 은 해당 정보를 기반으로 화면을 레이아웃합니다.
가능합니다.
필자는 세그먼트 컨트롤에 둥근 모서리를주고 싶었습니다. 이를 위해 UIView
에 분할 컨트롤을 삽입했습니다. 이제 세그먼트 화 된 컨트롤의 크기에 따라 해당 컨테이너 뷰의 크기를 조정해야합니다.
나는 단지 다음과 같은 제약을 주었고 모든 것이 스스로 처리되었습니다.
(1) 컨테이너보기를 선택하고 X
및 Y
제약 조건을 지정하십시오.
- 슈퍼 볼 수있는 공간.
- 슈퍼 볼 수있는 최고 공간.|
(2) 컨테이너보기를 선택하고 Leading
을 제공 Trailing
| Top
| Bottom
제약.
- 세그먼트 컨트롤에 대한 선행 공백.
- 분할 영역 제어에 대한 상위 공간.
- 세그먼트 컨트롤에 대한 후행 공백.
- 분할 컨트롤에 대한 하단 공간.
(3)는 분할 제어를 선택하고 그것과 Height
Width
제약을 준다.
- 높이 : 30 // 무엇이든
- 폭 : 내가 높이와 내 세그먼트 제어의 폭을 변경하는 경우 이제 자동으로 컨테이너 뷰의 크기 (슈퍼 뷰를 조정 // 무엇이든
(250) 세그먼트 화 된 제어의).
- 1. 수퍼 뷰의 프레임 변경으로 서브 뷰 크기 조정
- 2. 프레임에 따라 뷰의 경계 크기 조정
- 3. 서브 뷰의 크기 애니메이션하기
- 4. 수퍼 뷰가 아닌 콘텐츠 뷰에 대한 자동 크기 조정?
- 5. UIViewController의 뷰의 적절한 크기 조정
- 6. iOS 용 Masonry를 사용하여 하위 뷰의 크기를 기준으로보기 크기 조정
- 7. 수퍼 뷰에 대한 서브 뷰 액세스
- 8. 수퍼 뷰에서 서브 뷰의 위치를 찾는 것
- 9. 테이블 뷰의 셀에서 서브 뷰에 액세스하는 방법
- 10. 자동 레이아웃을 사용하여 하위 뷰의 크기 조정
- 11. 제약 조건으로 설계된 뷰의 크기 조정
- 12. 사용자 정의 NSView의 서브 뷰가 슈퍼 뷰에 맞게 크기 조정됩니다.
- 13. UIView 콘텐츠 크기 조정
- 14. 수퍼 뷰가 서브 뷰의 크기를 조정하는 '올바른 방법'은 무엇입니까?
- 15. 서브 뷰에 따라 창을 쉽게 확장하는 방법
- 16. 그림에 따라 표 크기 조정
- 17. 내용에 따라 격자 크기 조정
- 18. 해상도에 따라 BorderPane 크기 조정
- 19. 해상도에 따라 이미지 크기 조정
- 20. 그에 따라 페이지 크기 조정
- 21. UIScrollView 내용에 따라 크기 조정
- 22. UITextview 내용에 따라 크기 조정
- 23. 콘텐츠와 일치하는 텍스트 뷰의 크기 조정
- 24. MFC 뷰의 크기 조정 방법을 알았습니다.
- 25. 테이블의 행 수에 따라 NSTableView 또는 NSScrollView 크기 조정
- 26. NSLayoutConstraint - 수퍼 뷰의 동적 높이
- 27. UIView의 서브 뷰를 기반으로 자동 크기 조정 뷰를 생성합니다.
- 28. 서브 뷰 추가시 자동 크기 조정
- 29. 화면 크기에 따라 ImageView 크기 조정 - Android
- 30. UITextView 서브 뷰의 크기에 따라 UITableViewCell의 크기를 조정하는 방법은 무엇입니까?