UIView за ячейками UITableView - PullRequest
       0

UIView за ячейками UITableView

3 голосов
/ 07 февраля 2012

Я пытаюсь вставить вид за ячейки uitableview, но не могу найти способ сделать это правильно. Каждый раз, когда я добавляю подпредставление в self.view или self.tableview, оно выходит на первый план, даже если я использую метод sendSubviewToBack: ... У кого-нибудь есть идеи, как этого добиться?

PS: я не хочу использовать self.tableview.backgroundView, потому что представление фиксировано.

Спасибо

Ответы [ 3 ]

8 голосов
/ 13 сентября 2012

Я решил, позвонив [self.view sendSubviewToBack:self.myBackgroundView] в tableView:willDisplayCell:forRowAtIndexPath:. Это создаст вид позади каждой ячейки.

6 голосов
/ 07 февраля 2012

То, что вы испытываете, логично.self.view из UITableView действительно является табличным представлением.Если вы вставляете подпредставление, оно вставляется поверх табличного представления - и нет способа отправить его обратно.

Решение 1

Самое гибкое решение - переключиться на UIViewConntroller и самостоятельно реализовать поведение табличного представления.Вам необходимо

  • вставить собственное табличное представление как @property.Теперь это подвид self.view.Вы можете сделать это в коде или в IB.
  • объявить и реализовать <UITableViewDelegate> и <UITableViewDatasource> протоколы
  • установить свойства delegate и datasource табличного представления равными self
  • вставьте любые другие подпредставления по желанию и перетасуйте их, как вы хотите.

Решение 2

Если вы просто хотитепоказать что-то позади tableView вы можете использовать свойство табличного представления backgroundView.Это будет отображаться за ячейками, но вы будете иметь ограниченный контроль над размером представления (что вы могли бы снова решить с помощью дополнительных подпредставлений фонового представления).Кроме того, вы должны убедиться, что ваши клетки прозрачны.

0 голосов
/ 07 февраля 2012
- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index

с индексом 0 переместит View в позицию, которая является самой задней.

Это метод на UIView. Поскольку UITableView наследуется от UIScrollView: UIView: UIResponder: NSObject. Я думаю, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...