테이블 셀의 높이 관련해서 질문 드립니다.

5 답변 글타래를 보이고 있습니다
  • 글쓴이
    • 광현
      참가자
      • 글작성 : 15
      • 답글작성 : 26

      날씨 정보 어플리케이션을 만들면서 UITableViewCell에 이미지와 텍스트 라벨을 삽입해서 만들었는데, 저는 셀의 이미지 뷰의 크기를 지정한 적이 없는데 시뮬레이터롤 앱을

      실행하니 자동으로 cell의 높이가 조절된 거 같았습니다.

      만약에 제가 오토레이 아웃으로 정해준 cell의 크기보다 cell에 삽입하는 이미지의 크기가 크다면 cell의 크기가 자동으로 변하게 되는지 아니면 이미지 크기가 변경이 되는 지 궁금합니다.

    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 579

      셀을 커스텀 셀을 사용한 것인지, 기본 셀을 사용한 것인지, 기본 셀을 사용했다면 어떤 스타일을 사용한 것인지,

      오토레이아웃의 제약을 어디에 어떻게 주었는지 등등 자세한 설명 없이 질문하면 대답하기 어렵습니다. 모든 경우의 수를 전제로 대답하려면 책 한 편이 나올것 같습니다.

      조금 더 질문을 명확히 하는 습관을 들여보는 것이 좋겠습니다.

      추가로 지난 그 어떤 질문에도 답변이나 감사의 인사 등 어떤 피드백도 하지 않았는데, 그런 일이 쌓이다보면 아무도 답변해주지 않게 될 것입니다.

      지난 글들을 돌아보는게 어떨까요?

      • 이 답변은 야곰에 의해 4 years, 7 months 전에 수정됐습니다.
      • 광현
        참가자
        • 글작성 : 15
        • 답글작성 : 26

        커스텀 셀을 사용했습니다. 오토 레이아웃 구성을 UIContensView에서 제일 좌측에 UIImageView의 left, top, centerY 를 설정했고, 그 다음 UITextLabel에는 left는 UIImageView로부터 떨어진 거리, 그리고 UIContentsView에서는 centerY를 설정했습니다.

        질문의 명확성과 피드백 관련해서는 나아질 수 있도록 노력하겠습니다.

        • 야곰
          키 마스터
          • 글작성 : 37
          • 답글작성 : 579

          광현님이 이미지뷰에 준 제약만으로는 시스템이 레이아웃을 배치하기에 부족한 것 같습니다.
          스토리보드에서 오토레이아웃 구현시 오류나 경고가 없었나요? 스토리보드가 아니라 코드로 구현했다면 디버깅 콘솔에 오토레이아웃 관련 메시지가 출력되지 않았나요?
          이미지뷰의 사이즈 제약은 없었나요? 이미지뷰의 사이즈 제약이 없었더라도 아직 제약이 부족합니다.

          1, 첫 번째로는 어떤 제약이 부족한지 점검하는 것이 첫 순서 같습니다.
          2. 두 번째로는 콘텐츠 고유 사이즈(Intrinsic Contents Size)에 대해 더 알아봐야 할 것 같습니다.

          • 이 답변은 야곰에 의해 4 years, 7 months 전에 수정됐습니다.
    • 광현
      참가자
      • 글작성 : 15
      • 답글작성 : 26

      야곰님 리플을 보고 다시 날씨 정보 어플리케이션을 시뮬레이터에서 돌려보았을 때의 스크린샷입니다.

      첫 화면이긴 하지만 기본 테이블 셀을 사용하지 않고 제가 만들 셀을 사용한 상태입니다.

      첫 화면입니다.

      옆에 디버깅 콘솔에서 JSON 데이터를 읽은 지 확인하기 위해 asset_name이 출력되도록 한 부분입니다.

      아래는 제가 만든 cell에 대한 코드입니다. 코드를 보시면 확인하시겠지만 저는 위에서 말한 것 외에 이미지뷰의 크기는 설정하지 않았습니다.

      제가 만든 cell에 대한 코드입니다.

      디버깅 콘솔은 이상이 없습니다.

      • 이 답변은 광현에 의해 4 years, 7 months 전에 수정됐습니다.
      • 이 답변은 광현에 의해 4 years, 7 months 전에 수정됐습니다.
    • 광현
      참가자
      • 글작성 : 15
      • 답글작성 : 26

      이미지 파일을 첨부했으나 파일 크기 때문인지 짤려서 링크로 수정했습니다.

    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 579

      intrinsic contents size에 대해 알아보면 좋을것 같아요.

      저도 지금 저 코드만 보고는 잘 모르겠어요. bottom constraint 없이 잘 동작하는게 이상하네요. 스토리보드에서도 별달리 추가한 것이 없으면 작동중에 레이아웃 시스템이 알아서 추가한것이 아닐까 추측이 되긴 하는데요, 그건 그거대로 로그가 보일텐데 로그도 없다고 하니 이상합니다.

      아래 두 문서를 보고 한 번 스스로 진단해보면 좋겠습니다.
      디버깅 툴로 각각의 뷰에 활성화 되어있는 오토레이아웃 제약을 확인해 볼 수 있습니다.

      https://developer.apple.com/library/archive/documentation/ToolsLanguages/Conceptual/Xcode_Overview/ExaminingtheViewHierarchy.html
      https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/debugging_with_xcode/chapters/special_debugging_workflows.html

    • 광현
      참가자
      • 글작성 : 15
      • 답글작성 : 26

      주신 링크를 통해 공부하고, 디버깅툴로 오토레이 아웃 제약을 확인해보겠습니다.
      정성 있는 답변 주셔서 감사합니다. 😊

5 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 743-81-02195
통신판매업 신고번호 : 제 2022-충북청주-1278 호
고객센터 : 카카오톡채널 @yagom