#ios #swift #uiactivityindicatorview
#iOS #swift #uiactivityindicatorview
Вопрос:
Я использую эту библиотеку 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:
Вот как я бы это сделал. Вам нужен экземпляр 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()
и удалите индикатор