1

autolayout을 사용하기위한 간단한 스크롤 뷰를 얻으려고합니다. 내 SuperView에는 스크롤보기가 있습니다. 스크롤보기 내부에는 ContentView와 ButtonsView가 있습니다.Autolayout과 함께 UIScrollView 사용

View (320x480) 
    | 
    |__Scroll View(320x480) 
      | 
      |__ContentView(320x556) 
       | 
       |__ButtonsView(320x175) 

SuperView에 대한 ScrollView 제약 조건은 선행, 후행, 아래쪽 및 위쪽에 대해 0,0,0,0입니다. Scroll View에 대한 ContentView 제약 조건은 Leading, Trailing, Bottom 및 Top에 대해 0,0, -96,0입니다. -96은 내 콘텐츠보기 높이가 556이기 때문에입니다. ContentView 내에 ButtonsView가 있습니다. ContentView에 대한 ButtonView 제약 조건은 선행, 후행, 위쪽 및 종횡비에 대해 0,0,238,64.35입니다.

내 xib에서 누락 된 제약 조건 및 스크롤 가능한 콘텐츠 크기 모호성 오류가 발생합니다.

xib가 iPad에서도 작동하도록하려면 ContentView 또는 ButtonsView의 너비와 높이를 하드 코딩하고 싶지 않습니다.

누군가 내가 뭘 잘못하고 어떻게 해결할 수 있습니까?

enter image description here

enter image description here

감사

이 중복 질문이 아니다. 위의 질문은 의도대로 작동하지 않는 scrollview 있습니다. 내 질문은 autolayout 규칙을 scrollviews에 적용하는 방법에 대한 자세한 내용입니다.

답변

3

콘텐츠 크기를 결정하기 위해 ScrollView의 내부 내용을 유지해야합니다. 고정 높이와 너비를 표시하는지 여부 (선호하지 않음). 또는 뷰와 관련된 내부 내용의 크기를 결정하기 위해 제약 조건을 적용합니다. 따라서 특정 경우 ContentView 및 View에 대해 동일한 너비 제약 조건을 추가 할 수 있습니다. 높이를 조정하려면 ButtonsView 및 ContentView에 Equal Heights Constraint를 175/556의 배율로 추가하십시오.

+0

이것은 나를 위해 일했습니다. 고맙습니다! – tbag

1

ButtonsView의 Bottom 제약 조건을 ContentView에 추가하기 만하면됩니다. 이러한 제약 조건으로 이제 ContentView은 높이를 추측 할 수 있으므로 ScrollView도 마찬가지입니다.

+0

팁 주셔서 감사합니다. – tbag

관련 문제