查看未添加到Xcode中的顶视图控制器?

时间:2016-08-16 04:30:40

标签: ios swift xcode

我想在按下特定按钮后向视图添加活动指示器(活动指示器视图)。但是,该按钮的代码不在该视图控制器的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!
        }
    }
}

如果关闭的数量不正确,那不是问题......那只是我搞砸了相关代码位的复制和粘贴。有人有任何想法吗?

1 个答案:

答案 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)

    }
}