2017-04-25 2 views
0

셀에 4 개의 구성 요소가 있습니다.자동 레이아웃을 사용하여 구성 요소를 표시하거나 숨겨서 UITableViewCell 높이를 조절하는 방법

  1. UIView의
  2. UITextView
  3. UIImageView에
  4. UIImageView에
  5. UIView의 위에 다른 UIView의
  6. UIView의

이러한 콘텐츠로부터 제공되는 데이터에 따라 변경 될 수있다 서버 (때로는 3 번째 이미지보기를 숨길 필요가 있습니다. 때로는 5 번째 UIView). 자동 레이아웃을 사용하고 자동 레이아웃을 사용하여 셀의 높이를 변경하는 방법은 무엇입니까?

+0

이것을 확인하십시오 : http://stackoverflow.com/a/38064420/3901620...이 예제에서 주어진 제약 조건을 설정하고 viewDidLoad에 두 줄의 코드를 추가해야합니다. 덕분에 – KKRocks

답변

1

수행 다음 단계 :

  1. 당신이 어떤 구성 요소가 0으로 해당 구성 요소의 프레임 높이를주고있는 tableview를 다시 숨기

    . 어떤 구성 요소에 일정한 높이를 주면 높이 제한 조건의 콘센트를 가져 와서 0으로 만들고 다시 숨길 때 다시 상수 높이를 지정하십시오.

  2. 숨기기를 취소하면 특정 프레임 높이를주고 tableView를 다시로드합니다. 컴파일러는 셀의 높이를 이해하고 그에 따라 작동하므로 이미 스토리 보드에서 구성 요소를 찍은 것처럼

  3. heightForRow

    UITableViewAutomaticDimension

을 반환해야합니다.

여전히 문제가있는 경우 요청할 수 있습니다.

+0

. 저를 위해 일하는. – codebot

0
this two methods are use for dynamic cell height 

func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat 
{ 
    return UITableViewAutomaticDimension 
} 
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 

    return UITableViewAutomaticDimension 
} 
1

이 작업은 UIStackView를 사용하면 쉽게 수행 할 수 있습니다. 스택보기는 사용자 인터페이스를 쉽고 빠르게 디자인 할 수있는 강력한 도구입니다. 이 속성을 통해 배치 된 뷰를 배치하는 방법을 고도로 제어 할 수 있습니다. 당신이 편리하게 레이아웃에서 사라 stackview에서보기를 숨기면 Tutorial

,하지만 여전히 스택보기의 하위 뷰입니다 - 여기

은 튜토리얼에 대한 링크입니다. 나중에 다시 가져 오려면 특별한 일을 할 필요가 없습니다. 셀 크기 조정 셀을 사용하면 스택 뷰 높이를 기준으로 셀이 자동으로 확장되거나 축소됩니다.

+0

나는이 접근법을 정말로 좋아한다. – trapper

관련 문제