>

스토리 보드 레이아웃은 첨부 된 이미지와 같이 간단합니다. 본문 텍스트가 한 줄에서 여러 줄로 확장 될 수 있다고 가정합니다. 여러 줄을 고려할 때 버튼을 클릭 할 수 있도록 내용이 스크롤 될 것으로 예상합니다. 그러나 내가 설정 한 제약 조건으로 스크롤보기가 스크롤되지 않습니다. 원하는 효과를 얻으려면 어떤 제약을 변경해야합니까? 감사합니다.

  • 답변 # 1

    UIScrollView 사용의 열쇠 : 자동 레이아웃이 .contentSize 를 판별 할 수 있도록 "체인"구속 조건이 있어야합니다.  스크롤보기.

    단계별 (요소의 경계/프레임을 쉽게 볼 수 있도록 레이아웃 중에 배경색을 설정하는 것을 좋아합니다) ...

    와이즈 비즈 추가  (Cantaloupe 색상)을 뷰 컨트롤러에 추가하고 20pt로 제한합니다 (우리가 어디에 있는지 알 수 있도록).

    와이즈 비즈 추가  당신의 UIScrollView 로  스크롤보기의 하위보기로 (딸기 색). 스크롤보기에 동일한 높이 및 너비 제약 조건을 부여하고 상단/선행/후행/하단 제약 조건을 모두 UIView 로 설정하십시오. :

    와이즈 비즈 추가  와이즈 비즈  (노란색 배경). 그것을 ContentView 제한 . 0 추가  와이즈 비즈  (노란색 배경). 제목 라벨의 하단에 상단을 제한합니다 ( Title 를 사용했습니다) ) 및 UILabel . Top: 30 / Leading: 50 / Trailing: 50 추가  (연한 회색 배경). 본문 라벨의 하단에 상단을 제한합니다 ( Body 를 사용했습니다) ) 및 UILabel :

    지금까지는 특별한 것이 없으며 스크롤이 없습니다 ...

    다음으로다른을 추가하십시오. 200 의 맨 아래 제한 조건   Leading: 10 / Trailing: 10 에 첫 번째 Bottom 제약 조건을 UIButton 로 변경하십시오.  새 하단 구속 조건의 우선 순위를 50 로 설정하십시오. :

    이것은 (몇 단계 더한 후에) Leading: 50 / Trailing: 50 를 허용 할 것   0 를 제어 할뿐만 아니라 내용에 따라 확장/축소  스크롤보기.

    다음 단계는 ContentView 에 알리는 것입니다   >= 0 의 높이를 결정하기 위해  - 250 의 Bottom 제약 조건을 추가하십시오.  버튼에 ( ContentView 와 같습니다)  우리는 제목 라벨에 주었다) :

    물론 그것은 우리가 원하는아직입니다. .contentSize높이 제한 조건을 설정했기 때문에 버튼의 높이가 늘어납니다. . 그래서 ... Button 에서 높이 제약 조건을삭제 :

    결과는 ContentView  높이는 버튼 하단 아래 30pt에 맞게 줄어 듭니다.

    30 에 텍스트를 더 추가하면  레이블 ( Top: 30 로 설정되어 있다고 가정) ), 당신은 ContentView 를 볼 수 있습니다  레이블을 확장하고 버튼을 "누르십시오".이 버튼은 ContentView 의 바닥을 "밀어냅니다". :

    ContentView 에 충분한 텍스트를 추가하면  IB 또는 코드를 통해 스크롤보기 하단 아래에있는 버튼을 누르면 세로로 스크롤됩니다.

    확실히 바랍니다. 궁금한 점이 있으면 문의하십시오.

  • 답변 # 2

    스크롤보기에 적합한 제약 조건을 얻으려면 따라야 할 특정 방법이 있습니다. 아래 단계를 확인하십시오.

    1. 슈퍼 뷰에 스크롤보기 추가하기 스크롤보기를 추가 한 후 이미지와 같이 서브 뷰를 스크롤보기에 추가하십시오. 이 뷰는 스크롤 뷰와 동일한 x, y 좌표와 동일한 높이와 너비를 갖습니다. 계층 구조를 이해하려면 아래 이미지를 참조하십시오.

    아직 제약 조건을 추가하지 않았기 때문에 빨간색 경고가 표시됩니다.

    이제 몇 가지 제약 조건을 적용 할 차례입니다. 아래 이미지를 참조하고 상단, 하단, 선행 및 후행을 추가하여 스크롤하십시오.

    이제 상단, 하단, 선행 및 후행을 추가하여 뷰의 하위 뷰를 스크롤하십시오. 아래 이미지를 참조하십시오.

    이제 실제 트릭입니다. 스크롤과 뷰를 둘 다 잡고 아래 이미지와 같이 동일한 너비, 동일한 높이 제한을 두십시오.

    제약은 거의 설정되어 있습니다. 업데이트 제약 조건을 클릭 한 후보기 높이를 높이면

    마지막으로해야 할 일은 스크롤 뷰의 하단 제약 조건 값을 변경하는 것입니다. 음수 값이됩니다. 스크린 샷 아래의 0을 따르십시오.

    작동하면 업데이트하십시오

    Body

  • 이전 python - 특정 항목을 하나의 세트로 유지하면서 테스트 및 기차 세트 만들기
  • 다음 css - 부트 스트랩 3과 다른 그리드 레이아웃