Как добавить UIActivityIndicator программно в пользовательском представлении? - PullRequest
0 голосов
/ 16 апреля 2019

Я использую эту библиотеку https://github.com/PiXeL16/RevealingSplashView, чтобы добавить что-то вроде заставки.

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

var revealingSplashView = RevealingSplashView(iconImage: UIImage(named: "loadscreenLogo")!,iconInitialSize: CGSize(width: 110, height: 110), backgroundColor: AppColor.mainYellow.getUIColor())
revealingSplashView.addSubview(UIActivityIndicatorView())

, но ничего не отображается

1 Ответ

0 голосов
/ 16 апреля 2019

Вот как бы я это сделал.Вам нужен экземпляр UIActivityIndicatorView, а не сам класс.

//loading indicator
let indicator:UIActivityIndicatorView = UIActivityIndicatorView  (activityIndicatorStyle: UIActivityIndicatorViewStyle.gray)

Затем индикатор загрузки - это в центре экрана, но мы можем легко изменить это с помощью .center CGPoint.Вы можете увеличить индикатор с помощью .frame.

fileprivate func loading(){
    indicator.color = UIColor.gray
    indicator.frame = CGRect(x: 0.0, y: 0.0, width: 15.0, height: 15.0)
    indicator.center =  CGPoint(x: revealingSplashView center.x, y: revealingSplashView.center.y - (navigationController?.navigationBar.frame.height)! )
    revealingSplashView.addSubview(indicator)
    indicator.bringSubview(toFront: self.view)
    indicator.startAnimating()
}

А когда закончите

self.indicator.stopAnimating()

и удалите индикатор

...