Как отцентрировать активность индикатора до его суперпредставления? - PullRequest
0 голосов
/ 25 января 2020

У меня проблемы с центрированием индикатора активности относительно размера экрана по центру его суперпредставления. Вот как это настроено в данный момент:

self.activityIndicator = UIActivityIndicatorView(style: UIActivityIndicatorView.Style.gray)
self.tableBackgroundView.addSubview(self.activityIndicator)
self.activityIndicator.center.x = UIScreen.main.bounds.width / 2

Горизонтальное центрирование - это здорово, но я пытаюсь установить center.y в центр таблицы. Каков наилучший способ установить его по центру по вертикали таким образом, чтобы он мог центрироваться для экрана всех размеров? Изображение ниже показывает это без явной установки center.y

enter image description here

1 Ответ

1 голос
/ 25 января 2020

Лучший способ центрировать UIActivityIndicatorView или фактически любое представление в иерархии с помощью NSLayoutConstraints, вы можете использовать их программно для центрирования ActivityIndicator, как это.

activityIndicator = UIActivityIndicatorView(style: UIActivityIndicatorView.Style.gray)

//This is important.
view.addSubview(activityIndicator)
//If the Activity Indicator is not in the correct z-index you can uncomment this line
//view.bringSubview(toFront: activityIndicator)

NSLayoutConstraint.activate([
    activityIndicator.centerXAnchor.constraint(equalTo: tableBackgroundView.centerXAnchor, constant: 0.0),
    activityIndicator.centerYAnchor.constraint(equalTo: tableBackgroundView.centerYAnchor, constant: 0.0)
])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...