我的功能显示带有UIActivityIndictor
var alert = UIAlertView()
Class AlertWithSpinner: NSObject {
class func alertSpinnerWithTitle (titleText: String, messageText: String){
alert.title = titleText
alert.message = messageText
var alertSubView:UIView = UIView(frame: CGRectMake(83,-10,100,40))
var loadingIndicator: UIActivityIndicatorView = UIActivityIndicatorView(frame: CGRectMake(50, 10, 37, 37)) as UIActivityIndicatorView
loadingIndicator.center = alertSubView.center
loadingIndicator.hidesWhenStopped = true
loadingIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
loadingIndicator.startAnimating();
alertSubView.addSubview(loadingIndicator)
alert.setValue(alertSubView, forKey: "accessoryView")
loadingIndicator.startAnimating()
alert.show()
}
class func dismiss(){
alert.dismissWithClickedButtonIndex(-1, animated: true)
}
}
第一次发布警报很好。所有后续演示文稿都不会显示UIActivityIndicator
,只显示UIAlert
答案 0 :(得分:0)
您应该创建自己的警报,以防您想要修改它。来自Apple Docs
UIAlertView类旨在按原样使用,不支持子类化。此类的视图层次结构是私有的,不得修改。
答案 1 :(得分:0)
您正在重用UIAlertView,因此第一个UIActivityIndicatorView仍然是警报的子视图。 在设置UIAlertView的消息后,添加以下行以立即删除旧的UIActivityIndicatorView。
long long
答案 2 :(得分:0)