autolayout을 사용하여 원하는 동작을 얻고 싶습니다 (대리자 등을 사용하여 가능하지 않은 경우). 내가 가진 것은 하나의 정적 셀이있는 tableView이며,이 셀에는 동적 프로토 타입 셀이있는 tableViewController가있는 containerView가 있습니다.containerView가 포함 된 정적 셀의 동적 높이
내가 원하는 것은 컨테이너보기가 임베드 된 정적 셀의 높이를 동적으로 설정하기 위해 autolayout을 사용할 수 있어야한다는 것입니다.
이
은 스토리 보드입니다 :containerView이있는의 ViewController에서 :
이 내 제약 (컨테이너보기의있는 contentView 정적 셀)이다 고정 셀 내에서 무엇을 가지고 있습니까? ViewDidLoad 메서드 :
override func viewDidLoad() {
super.viewDidLoad()
courseDetailTableView.estimatedRowHeight = 200
courseDetailTableView.rowHeight = UITableViewAutomaticDimension
}
그리고 staticCell와 함께있는 tableView의 대리자를 사용하여 :
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
그러나이 정적 셀의 높이
정말 작은 ... 그것은 자동 레이아웃은 설정 할 수 없다는 것을 의미 내가 설정 한 제약 조건만으로 그의 콘텐츠의 높이를 계산했습니다. 나는 제약 조건만을 말했습니다. 왜냐하면 높이를 400과 같은 높이로 설정 한 containerView의 contentView에 하나 이상의 제약 조건을 설정하면 해당 셀의 높이는 400입니다.나는 자동 설정을 사용하여 헤이를 설정하는 방법이 있는지 궁금합니다. 컨테이너의 높이와 일치하는 정적 셀의 ght.
내가 아마 처음 containerView의 높이를 계산하고이 가능 작업 나는 간단한 방법
가 있는지 알고 싶어 할 수있는 heightForRow을 설정하려면이 키를 사용하여 대리자를 사용하는 것을 알고는 정말 고마워요 .
왜 컨테이너 대신 ContainerView를 사용하는지, 정적 셀에 UITableViewController가 포함되어 있는지, UITableViewController를 사용하는 이유는 무엇입니까? –
안녕하세요 @ TarasChernyshenko 나는이 모든 것을 여기에 포장해야하는 것이 조금 혼란 스럽다는 것을 알고 있습니다. 그러나 이것은 다른 버전과 하나의 컨트롤러 옆에 두 개의 tableview가있는 최신 버전에 필요하기 때문에입니다. 이제는 이해가 안되지만 나중에이 방법이 더 쉬울 것입니다 (최소한 나는 그렇게 생각합니다) – neteot