Sru*_*mha 9 uialertview uiactivityindicatorview swift
我想补充UIActivityIndicatorView到UIAlertView,但不能把它做.我看过这个实现的帖子,发现它只适用于iOS7以下的版本.
以下是我试过的代码......
var alert: UIAlertView = UIAlertView(title: "Title", message: "Please wait...", delegate: nil, cancelButtonTitle: "Cancel");
var loadingIndicator: UIActivityIndicatorView = UIActivityIndicatorView(frame: CGRectMake(0.0, 0.0, 10.0, 10.0)) as UIActivityIndicatorView
loadingIndicator.center = self.view.center;
loadingIndicator.hidesWhenStopped = true
loadingIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
loadingIndicator.startAnimating();
alert.addSubview(loadingIndicator);
alert.show();
Run Code Online (Sandbox Code Playgroud)
为了完成这项工作,iOS7及以上版本有什么具体的事情要做吗?
Bes*_*rov 28
试试这个代码!!
var alert: UIAlertView = UIAlertView(title: "Title", message: "Please wait...", delegate: nil, cancelButtonTitle: "Cancel")
var loadingIndicator: UIActivityIndicatorView = UIActivityIndicatorView(frame: CGRect(x: 50, y: 10, width: 37, height: 37)) as UIActivityIndicatorView
loadingIndicator.center = self.view.center
loadingIndicator.hidesWhenStopped = true
loadingIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
loadingIndicator.startAnimating();
alert.setValue(loadingIndicator, forKey: "accessoryView")
loadingIndicator.startAnimating()
alert.show();
Run Code Online (Sandbox Code Playgroud)
我希望我帮助过你
快速4 创建警报控制器扩展
extension UIAlertController {
private struct ActivityIndicatorData {
static var activityIndicator = UIActivityIndicatorView(frame: CGRect(x: 0, y: 0, width: 40, height: 40))
}
func addActivityIndicator() {
let vc = UIViewController()
vc.preferredContentSize = CGSize(width: 40,height: 40)
ActivityIndicatorData.activityIndicator.color = UIColor.blue
ActivityIndicatorData.activityIndicator.startAnimating()
vc.view.addSubview(ActivityIndicatorData.activityIndicator)
self.setValue(vc, forKey: "contentViewController")
}
func dismissActivityIndicator() {
ActivityIndicatorData.activityIndicator.stopAnimating()
self.dismiss(animated: false)
}
}
Run Code Online (Sandbox Code Playgroud)
在视图控制器中创建Var一个ctivityIndicatorAlert,然后在视图控制器中编写display和dismiss方法,如下所示
var activityIndicatorAlert: UIAlertController?
func displayActivityIndicatorAlert() {
activityIndicatorAlert = UIAlertController(title: NSLocalizedString("Loading", comment: ""), message: NSLocalizedString("PleaseWait", comment: "") + "...", preferredStyle: UIAlertController.Style.alert)
activityIndicatorAlert!.addActivityIndicator()
var topController:UIViewController = UIApplication.shared.keyWindow!.rootViewController!
while ((topController.presentedViewController) != nil) {
topController = topController.presentedViewController!
}
topController.present(activityIndicatorAlert!, animated:true, completion:nil)
}
func dismissActivityIndicatorAlert() {
activityIndicatorAlert!.dismissActivityIndicator()
activityIndicatorAlert = nil
}
Run Code Online (Sandbox Code Playgroud)
您还
UIViewcontroller可以在所有方法之上添加扩展名For全局可用。
extension UIViewController {
private struct activityAlert {
static var activityIndicatorAlert: UIAlertController?
}
//completion : ((Int, String) -> Void)?)
func displayIPActivityAlert(_ onCancel : (()-> Void)?) {
activityAlert.activityIndicatorAlert = UIAlertController(title: NSLocalizedString("Loading...", comment: ""), message: nil , preferredStyle: UIAlertController.Style.alert)
activityAlert.activityIndicatorAlert!.addActivityIndicator()
var topController:UIViewController = UIApplication.shared.keyWindow!.rootViewController!
while ((topController.presentedViewController) != nil) {
topController = topController.presentedViewController!
}
activityAlert.activityIndicatorAlert!.addAction(UIAlertAction.init(title:NSLocalizedString("Cancel", comment: ""), style: .default, handler: { (UIAlertAction) in
self.dismissIPActivityAlert()
onCancel?()
}))
topController.present(activityAlert.activityIndicatorAlert!, animated:true, completion:nil)
}
func dismissIPActivityAlert() {
activityAlert.activityIndicatorAlert!.dismissActivityIndicator()
activityAlert.activityIndicatorAlert = nil
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14495 次 |
| 最近记录: |