То, что вы испытываете, логично.self.view
из UITableView
действительно является табличным представлением.Если вы вставляете подпредставление, оно вставляется поверх табличного представления - и нет способа отправить его обратно.
Решение 1
Самое гибкое решение - переключиться на UIViewConntroller
и самостоятельно реализовать поведение табличного представления.Вам необходимо
- вставить собственное табличное представление как
@property
.Теперь это подвид self.view
.Вы можете сделать это в коде или в IB. - объявить и реализовать
<UITableViewDelegate>
и <UITableViewDatasource>
протоколы - установить свойства
delegate
и datasource
табличного представления равными self
- вставьте любые другие подпредставления по желанию и перетасуйте их, как вы хотите.
Решение 2
Если вы просто хотитепоказать что-то позади tableView вы можете использовать свойство табличного представления backgroundView
.Это будет отображаться за ячейками, но вы будете иметь ограниченный контроль над размером представления (что вы могли бы снова решить с помощью дополнительных подпредставлений фонового представления).Кроме того, вы должны убедиться, что ваши клетки прозрачны.