我想在按下特定按钮后向视图添加活动指示器(活动指示器视图)。但是,该按钮的代码不在该视图控制器的swift文件中,而是在一个自定义类swift文件中,该文件正在交互' (不确定该术语是否正确?)使用viewcontroller swift文件。我的代码没有提示错误,但它只是没有正常工作。视图上没有显示activityindicator,屏幕应该停止接受用户输入,但事实并非如此。我在下面发布了相关的代码:
class CustomCell: UITableViewCell, UITextFieldDelegate {
var activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView()
@IBAction func saveButtonTapped(sender: UIButton) {
func topMostController() -> UIViewController {
var topController = UIApplication.sharedApplication().keyWindow?.rootViewController
while (topController?.presentedViewController != nil) {
topController = topController?.presentedViewController
}
activityIndicator = UIActivityIndicatorView(frame: CGRectMake(0,0,50,50))
activityIndicator.center = topController!.view.center //centers the indicator
activityIndicator.hidesWhenStopped = true
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
topController!.view.addSubview(activityIndicator)
activityIndicator.startAnimating()
UIApplication.sharedApplication().beginIgnoringInteractionEvents()
return topController!
}
}
}
如果关闭的数量不正确,那不是问题......那只是我搞砸了相关代码位的复制和粘贴。有人有任何想法吗?
答案 0 :(得分:0)
class CustomCell: UITableViewCell, UITextFieldDelegate {\
var activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView()
@IBAction func saveButtonTapped(sender: UIButton) {
let alert = UIAlertController(title: nil, message: "Some Message
", preferredStyle: .Alert)
activityIndicator = UIActivityIndicatorView(frame: CGRectMake(0,0,50,50))
activityIndicator.hidesWhenStopped = true
alert.view.addSubview(activityIndicator)
activityIndicator.startAnimating()
let alertWindow = UIWindow(frame: UIScreen.mainScreen().bounds)
alertVc = UIViewController()
alertWindow.rootViewController = alertVc
alertWindow.windowLevel = UIWindowLevelAlert + 1
alertWindow.makeKeyAndVisible()
alertWindow.rootViewController?.presentViewController(alert, animated: true, completion: handler)
}
}