2014-12-06 3 views
-1

내 응용 프로그램의 상세보기를 레이아웃하려고합니다. 보기에는 제목, 일부 정보 및 설명이 있습니다. 내 제목 레이블과 설명 레이블의 너비를 화면의 너비와 레이블의 내용을 수용하기위한 해당 레이블의 높이로 설정하고 싶습니다. 또한 콘텐츠의 높이가 너무 커서 화면에 맞지 않을 경우 전체보기를 스크롤하고 싶습니다.포함 된 텍스트에 맞게 UILabel을 화면 너비 및 높이로 설정하십시오.

현재 뷰 내부에 레이블이있는 xib가 있으며 개체를 배치하고 제목 레이블 및 설명 레이블의 너비를 포함 된보기의 크기로 설정하는 자동 레이아웃 제약이 있습니다. 그보기는 UIScrollView 내부에 있지만 어떤 제약 조건도 없습니다. 속성 관리자에서 여러 줄을 수용 할 수 있도록 레이블을 설정했습니다. 내 viewDidLoad 메서드에서 내용과 스크롤 뷰 내용 크기 및 프레임으로 뷰의 너비를 설정합니다.

현재 텍스트를 자동으로 수용하기 위해 레이블의 너비와 높이를 가져올 수 없습니다. 나는 올바른 길을 가고 있습니까, 아니면 다른 방법을 시도해야합니까?

+0

모든 작업을 스토리 보드 자동 레이아웃을 통해 수행 할 수 있습니다. 셀의 contentView 폭에 레이블 폭을 설정해야합니다. 레이블과 셀의 동적 높이를 만들기 위해서는 구속 조건을 셀의 맨 아래에 올바르게 설정해야합니다. – gronzzz

답변

2

내부 텍스트 높이를 수용하려면 0을 UILabel의 줄 수로 사용하십시오. 그러면 자동으로 내부의 텍스트에 따라 자라납니다. 모호한 컨텐트 크기를 피하기 위해 UIScrollView의 마지막 요소에서 스크롤 뷰의 맨 아래까지 제약 조건을 추가해야합니다.

레이블을 화면 너비로 가져 오려면 레이블에서 해당 컨테이너로의 직접적인 제한 조건이어야합니다. 그러나 레이블이 스크롤보기 내에 있으면 스크롤보기의 앞과 뒤 가장자리에 레이블을 구속하면 스크롤보기의 내용보기로 제한되므로 레이블을 스크롤보기와 동일한 너비로 제한해야 할 수 있습니다 포함 된 견해에 따라 성장합니다.

+0

줄 수를 0으로 설정하면 레이블의 높이에 도움이됩니다. 그러나 스크롤 뷰 컨테이너의 너비에 대한 제약 조건 설정은 좀 더 어려웠습니다. 나는 라벨의 앞 가장자리에서부터 컨테이너까지, 그리고 뒤 가장자리에서부터 컨테이너까지의 제약 조건으로 시작했다. 그러나 이것은 레이블의 너비를 예상대로 제한하지 않습니다. 대신 라벨의 폭을 포함하는 스크롤 뷰의 너비와 같게 제한해야했습니다. 왜 그런가요? –

+0

제약 조건은 스크롤 뷰의 컨텐트 뷰에 있고 컨텐트 뷰는 스크롤하는 것을 허용하지 않더라도 내부에있는 크기로 커지기 때문에 오버플로가 단지 '숨겨진'것입니다. – KerrM

관련 문제