Моя цель - отобразить UIView с UIActivityIndicatorView, наложенным на UITableView, пока я загружаю будущий контент UITableView из Интернета. Я добавил UIView с его подвидом в свой Контроллер в Inteface Builder. Но даже когда я пытаюсь вывести вид индикатора активности на передний план с помощью self.view.bringSubviewToFront(ActivityView) (self является UITableViewController), разделители таблиц остаются видимыми:

separators still visible with overlaid uiview

0
Marv 16 Окт 2015 в 20:36

2 ответа

Лучший ответ

Проблема в том, что вы используете UITableViewController, а не UITableView внутри UIViewController. Разница в том, что UITableViewController имеет tableView в качестве основного представления, и, следовательно, любые добавляемые вами вложенные представления находятся внутри табличного представления, а не выше или ниже его. В UIViewController главное представление - это просто UIView, и поэтому вы можете иметь tableView в качестве подпредставления этого представления.

UITableViewController view:

UITableView
   - ActivityIndicator

UIViewController with embedded TableView:

UIView
   - UITableView
   - ActivityIndicator
1
Kris Gellci 16 Окт 2015 в 18:16

Вы можете скрыть разделитель:

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

И отобразить его после загрузки данных (если вы этого хотите).

0
MGU 16 Окт 2015 в 17:41