Добавить представление без прокрутки в UITableView - PullRequest
0 голосов
/ 07 мая 2019

Я хочу, чтобы пользователь не взаимодействовал с представлением таблицы, пока я получаю некоторые данные.

Таким образом, я могу показать и удалить представление, такое что:

var dimmingView: UIView?

добавляется и удаляется с помощью:

func showLoading() {
    let dimmingView = UIView(frame: view.frame)
    dimmingView.backgroundColor = .darkGray
    view.addSubview(dimmingView)
    let activityIndicator = UIActivityIndicatorView(style: .whiteLarge)
    activityIndicator.translatesAutoresizingMaskIntoConstraints = false
    dimmingView.addSubview(activityIndicator)
    NSLayoutConstraint.activate([
        activityIndicator.centerXAnchor.constraint(equalTo: dimmingView.centerXAnchor),
        activityIndicator.centerYAnchor.constraint(equalTo: dimmingView.centerYAnchor)
        ])
    activityIndicator.startAnimating()
    self.dimmingView = dimmingView
}

А также

func removeLoading() {
    dimmingView?.removeFromSuperview()
}

Однако при добавлении он перемещается вместе со столом (свитки).Если я остановлю прокрутку таблицы при загрузке новых данных, она появится за UINavigationBar (по крайней мере, первая ячейка).Если я пытаюсь добавить в navigationcontroller.view, файл navigation.controller равен nil (поэтому я не могу).

Каков наилучший подход?

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