2016-07-13 13 views
0

내 프로젝트에서 3 섹션으로 구성된 정적 tableView가 있습니다. 두 번째 섹션의 셀에는 동적으로 채워지는 레이블이 있으므로 동적 높이가 유지됩니다. 셀의 높이를 레이블의 높이로 조정해야합니다. 성공하지 못한 시도는 다음과 같습니다.tableView 자동 행 높이를 설정하지 않음

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    if indexPath.section == 0 { 
     return 44 
    } else if indexPath.section == 1 { 
     return UITableViewAutomaticDimension 
    } else if indexPath.section == 2 { 
     return 80 
    } else { 
     return 50 
    } 
} 

모든 섹션의 높이는 자동 치수를 제외하고 올바르게 설정됩니다. 어떤 도움이 필요합니까?

+0

자세한 정보가 유용 할 것입니다. 셀에 대한 모든 제약 조건을 설정 했습니까? 라벨을 올바르게 설정 했습니까 (예 : numberOfLines = 0, lineBreakMode)? – bradkratky

+0

레이블의 제약 조건을 왼쪽 10, 상위 10, 오른쪽 10으로 설정합니다. 레이블에는 0 개의 라인과 기본 lineBreakMode (Truncate Tail)가 있습니다. 여기서 바꿀 게있어? – Luk579

+0

네, lineBreakMode를 줄 바꿈으로 바꾸세요! 0 줄이 맞으면 여러 줄 레이블이 필요합니다. – bradkratky

답변

1

세트 viewDidLoad()

tableView.rowHeight = UITableViewAutomaticDimension 

에서이 행이 다음이 table view 쓰기 해당 위임 방법을 당신의 UITableViewestimatedRowHeight 속성을 사용하거나 구현하는 것이 당신이 할 수있는 방법

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

도 올바르게 auto layout을 사용했는지 확인하십시오. 및 사용자가 다음을 설정했습니다. number of lines for lable = 0

+1

불행히도이 기능이 작동하지 않습니다. 아마도 autoLayout을 사용했을 것입니다. 셀 내 레이블 (왼쪽 10, 상위 10, 오른쪽 10)에 대해서만 제약 조건을 설정하고 행을 0으로 설정합니다. – Luk579

+1

plz 또한 하단 제약 조건을 부여합니다. –

+0

그랬습니다. 감사! – Luk579