如何在方法之间传递活动指标/

时间:2014-05-15 23:00:06

标签: ios subview uiactivityindicatorview

您好我添加了子视图有问题。我在method1中有这段代码:

UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc]
                                    initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
spinner.center = CGPointMake(160, 500);
spinner.hidesWhenStopped = YES;
[self.view addSubview:spinner];
[spinner startAnimating];

我要添加

[spinner stopAnimating]

另一种方法2.

我该怎么做?

2 个答案:

答案 0 :(得分:2)

在你的.m文件中(除非你需要从另一个类中执行此操作,否则不需要在.h中执行此操作):

@interface MyClass ()

@property (strong, nonatomic) UIActivityIndicatorView *spinner;

@end

@implementation MyClass

- (void)someMethod
{
    // where you were calling the code from your post, do this:
    self.spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
    self.spinner.center = CGPointMake(160, 500);
    self.spinner.hidesWhenStopped = YES;
    [self.view addSubview:self.spinner];
    [self.spinner startAnimating];
}

- (void)someOtherMethod
{
    [self.spinner stopAnimating];
}

答案 1 :(得分:1)

问题是您在代码中设置了spinner而没有保留引用。因此,另一种方法找不到它。你有两个选择:

  • 创建实例变量时将spinner分配给实例变量,以便其他方法可以使用该实例变量访问微调器

  • 授予spinner一个tag,以便其他方法可以通过其标记}将其作为view的子视图