我正在尝试使用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, UIActivityIndicatorView,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();
}
}
答案 0 :(得分:5)
似乎每次调用start / stop时,都会创建ViewController
的新实例
只需将ViewController
替换为self
,然后尝试
例如
Indicator = ActivityIndicator().StartActivityIndicator(self);