0

지난 2 일 동안 스토리 보드를 사용하여 UIScrollview를 파악하려고했습니다. 내가 가지고 있다고 생각할 때마다 새로운 문제가 나타나고 이제는 풀리지 않습니다. 여기가 내가하고있는 일이다. (정말 간단하다.)수직 스크롤링 Imageview 및 텍스트 뷰가있는 UIScrollview

나는 scrollview (가장자리에서 가장자리)의 전체 너비를 취하는 Imageview 400x185를 가지고있다. 즉, scrollview는 이미지 뷰의 너비를가집니다. 아래는 < = 이미지 뷰의 너비 인 텍스트 뷰입니다.

stackoverflow : 에 설명 된 많은 방법을 사용했습니다. scrollview에서보기를 사용하고 scrollview의 부모와 동일한 너비를 설정했습니다. -보기없이 스크롤보기 만 사용

모두 이미지의 프레임 크기, 스크롤 뷰의 하위보기 크기, 제한, 텍스트 뷰가 나타나지 않거나 그림이 너무 큽니다. 가장자리를 구속하도록 설정하십시오.

위에서 설명한 UI로 샘플 프로젝트를 만들 수 있습니까? 그것을 다루는 방법을 아는 사람에게는 5 분이 걸릴 것입니다.

+0

'UIViewController'의 UIView 크기는 얼마입니까? 즉,'UIScrollView'가 전체 화면을 확장합니까? – aytunch

+0

@aytunch UIView의 크기는 400x600입니다. UIScrollView는 UIView에 저장되며 전체 크기가 필요합니다. – n0ne

답변

0

방금했습니다. 나는 그것이 작동하는 것을 안다. 여기에 내가 제안 것입니다 :

  1. 이 400x600 뷰가이보기에 스크롤 뷰를 추가 400, 높이 600

  2. 폭에 제한되어 있는지 확인합니다. 전체보기를 취한 다음 위, 아래, 왼쪽 및 오른쪽으로 핀 고정하십시오.

  3. 스크롤 뷰에 UIView를 추가하십시오. 전체보기를 취한 다음 위, 아래, 왼쪽 및 오른쪽으로 핀 고정하십시오. 이것이 귀하의 콘텐츠입니다. 나는 문서 개요에서 "ContentView"로 이름을 바꿨다. 더 많은 제약 조건을 추가 할 때까지 콘텐츠 뷰는 어떤 크기로든 커질 수 있기 때문에 모호한 콘텐츠 크기에 대한 경고가 표시됩니다.

  4. 콘텐츠보기의 크기는 콘텐츠에 의해 결정되므로 완전히 제한해야합니다. contentView에 imageView를 추가합니다. 너비를 400으로 제한하고 높이를 185로 제한합니다. contentView의 왼쪽, 위쪽 및 오른쪽에 고정시킵니다. 이 시점에서 contentView는 폭이 400임을 알지만 여전히 키가 얼마나 큰지 알지 못합니다.

  5. textView를 contentView에 추가하십시오. 이미지 뷰에서 일정 거리를 고정하십시오. contentView의 가운데에 위치하도록 제한하십시오. contentView의 맨 아래에서 일정한 거리를 고정하십시오. 너비를 400보다 작고 높이를 600처럼 크게 잡습니다.

  6. 이 시점에서 contentView의 크기는 완전히 제한되어야합니다. 그것은 400 폭이며 contentView의 양쪽에 고정 된 imageView 너비에서 너비를 가져옵니다. imageView의 상수 + imageView의 높이 + imageView와 textView의 일정한 거리 + textView의 높이 + textView에서 contentView의 아래쪽까지의 일정한 거리로부터 높이를 가져옵니다. 당신은 단지 스크롤 수직에있는 ScrollView를 원하는 경우


은 다음있는 ScrollView 폭에있는 contentView 폭을 제한.이는 ContentView에서 scrollView로 드래그 한 다음 팝업에서Equal Widths를 선택하여 문서 개요 뷰에서 쉽게 수행 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다! 저를 괴롭히는 유일한 것은 iphone5 시뮬레이터에서 400처럼 고정 된 이미지 뷰의 폭을 만들 때 수평 스크롤 막대도 있다는 것입니다. 나는 그 내용이 아이폰 화면의 크기에 맞게 조정되어 수직 스크롤 막대 만 나타나기를 바란다. 어떻게하면 될까요? – n0ne

+0

contentView의 폭을 전화기의 폭과 일치하는 viewController의 최상위 레벨 너비로 제한합니다. 이를 수행하는 가장 쉬운 방법은 Document Outline 뷰를 사용하고 contentView에서 위쪽 뷰로 드래그를 제어 한 다음 팝업에서 'Equal Widths'를 선택하는 것입니다. imageView 제약 조건을 제거했는지 확인하십시오. 그렇지 않으면 상충되는 제약 조건이 생깁니다. – vacawama

+0

그런 다음 imageView의 너비와 높이 제한을 제거하고 컨테이너의 위쪽, 왼쪽 및 오른쪽 가장자리를 containerView로 제한 한 다음 AspectRatio 제약 조건을 사용하여 이미지 너비를 높이와 400 : 185 비율로 제한 할 수 있습니다. – vacawama

관련 문제