Swift中的活动指标

时间:2015-05-04 01:49:10

标签: ios function swift uiactivityindicatorview

我正在尝试使用swift创建活动指示器,但我有一些东西缺失

以下是启动活动按钮按钮的代码:

Indicator = ActivityIndicator().StartActivityIndicator(ViewController());

这是停止活动按钮的代码

 ActivityIndicator().StopActivityIndicator(ViewController(),indicator: Indicator);

和ACtivity指标类的代码是

class ActivityIndicator: NSObject {

    var myActivityIndicator:UIActivityIndicatorView!

    func StartActivityIndicator(obj:UIViewController) -> UIActivityIndicatorView
    {

        self.myActivityIndicator = UIActivityIndicatorView(frame:CGRectMake(100, 100, 100, 100)) as UIActivityIndicatorView;

        self.myActivityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
        self.myActivityIndicator.center = obj.view.center;

        obj.view.addSubview(myActivityIndicator);

        self.myActivityIndicator.startAnimating();
        return self.myActivityIndicator;
    }

    func StopActivityIndicator(obj:UIViewController,indicator:UIActivityIndicatorView)-> Void
    {
            indicator.removeFromSuperview();
    }


}
  

感谢解决问题

     

在我写代码的时候,我知道我必须通过自我的时间   功能,但那时我还不知道什么类型的自我引用   所以我无法收到,直到我知道这种类型,然后我决定尝试   收到不同的类型(UIView,   UIActivityIndi​​catorView,UIViewController)然后我发现它应该   是UIViewController,但我忘了它应该通过自我和   我正在寻找通过函数调用的内容,我想我们试试吧   UIViewController并没有给我错误所以我认为是对的   但是当它不工作时,我认为我足够近,所以它更好   向专家询问这个问题。正如我所料,问题已经解决了   几分钟之内

Swift 3版

class ActivityIndicator: NSObject {

    var myActivityIndicator:UIActivityIndicatorView!

    func StartActivityIndicator(obj:UIViewController) -> UIActivityIndicatorView
    {

        self.myActivityIndicator = UIActivityIndicatorView(frame:CGRect(x: 100, y: 100, width: 100, height: 100)) as UIActivityIndicatorView

        self.myActivityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray
        self.myActivityIndicator.center = obj.view.center;

        obj.view.addSubview(myActivityIndicator);

        self.myActivityIndicator.startAnimating();
        return self.myActivityIndicator;
    }

    func StopActivityIndicator(obj:UIViewController,indicator:UIActivityIndicatorView)-> Void
    {
        indicator.removeFromSuperview();
    }


}

1 个答案:

答案 0 :(得分:5)

似乎每次调用start / stop时,都会创建ViewController的新实例 只需将ViewController替换为self,然后尝试

例如

Indicator = ActivityIndicator().StartActivityIndicator(self);