Swift tableViewCell идет за ChildViewController
У меня возникла странная проблема -
У меня есть tableView с двумя разделами - по одной строке в каждом разделе.
В ячейку первого раздела я добавляю представление (с многочисленными текстовыми полями и представлениями выбора), которое извлекается из пользовательской среды.
В ячейку второго раздела я добавляю tableViewCell с простой кнопкой.
Идея состоит в том, что, когда пользователь завершает редактирование данных в первом разделе, он нажимает на кнопку во втором разделе, чтобы перейти к следующему контроллеру представления.
Вот код, который я использовал -
func numberOfSections(in tableView: UITableView) -> Int {
return 2
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
switch indexPath.section {
case 0:
cell = self.tableView.dequeueReusableCell(withIdentifier: "AddressAndTelephoneCell", for: indexPath) as! AddressAndTelephoneTableViewCell
if let myProfile = self.myProfileViewController {
(cell as! AddressAndTelephoneTableViewCell).contentView.addSubview(myProfile.view)
}
case 1:
cell = self.tableView.dequeueReusableCell(withIdentifier: "ManageDataButtonCell", for: indexPath) as! ManageDataButtonCell
default:
break
}
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
switch indexPath.section {
case 0:
if let isSectionCollapsed = isCollapsed {
if isSectionCollapsed {
return 360
}
else {
return 720
}
}
else {
return 360
}
case 1:
if let isSectionCollapsed = isCollapsed {
if isSectionCollapsed {
return 44
}
else {
return 0
}
}
else {
return 44
}
default:
return 44
}
}
Здесь все отлично. Единственная проблема заключается в том, что кнопка во втором разделе появляется только после того, как я прокручиваю свое табличное представление, пока не достигну этого раздела.
В "Иерархии просмотра" я видел, что кнопка во втором разделе скрывается за представлением, которое я добавил в первом разделе. И это выходит вперед только тогда, когда я перехожу ко второму разделу.
Я пытался с помощью bring(toFront: subView)
а также layoutIfNeeded()
- и аналогичные решения, которые я нашел в Stackru, но ничего не помогло.
Любая помощь -> решение или альтернативное решение / подход очень поможет.