65

活动指示器视图在许多应用程序中都很有用。关于如何在 iPhone 上添加、激活和关闭活动指示器视图的任何想法?

这里欢迎所有方法。

4

8 回答 8

121

创造:

spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
[spinner setCenter:CGPointMake(kScreenWidth/2.0, kScreenHeight/2.0)]; // I do this because I'm in landscape mode
[self.view addSubview:spinner]; // spinner is not visible until started

开始:

[spinner startAnimating]; 

停止:

 [spinner stopAnimating];

最终完成后,从视图中移除微调器并释放。

于 2009-03-02T18:35:17.810 回答
10

看看开源的 WordPress 应用程序。他们创建了一个非常可重用的窗口,用于在您的应用程序当前显示的任何视图之上显示“正在进行的活动”类型的显示。

http://iphone.trac.wordpress.org/browser/trunk

你想要的文件是:

  • WPActivityIndi​​cator.xib
  • 圆角矩形黑色.png
  • WPActivityIndi​​cator.h
  • WPActivityIndi​​cator.m

然后显示它使用类似的东西:

[[WPActivityIndicator sharedActivityIndicator] show];

并隐藏:

[[WPActivityIndicator sharedActivityIndicator] hide];
于 2009-02-27T05:46:13.333 回答
9

关于:

看看开源的 WordPress 应用程序。他们创建了一个非常可重用的窗口,用于在您的应用程序当前显示的任何视图之上显示“正在进行的活动”类型的显示。

请注意,如果您确实使用此代码,则必须将您自己的应用程序的所有源代码提供给任何请求它的用户。您需要注意,他们可能会决定重新打包您的代码并自己在商店中出售。这一切都是根据 GNU 通用公共许可证 (GPL) 的条款提供的。

如果您不想被迫打开源代码,那么您不能使用 wordpress iphone 应用程序中的任何内容,包括引用的活动进度窗口,而不强制 GPL 应用于您自己的。

于 2010-04-18T18:06:34.927 回答
7

这方面的文档非常清楚。它是一个 UIView 子类,因此您可以像使用任何其他视图一样使用它。开始/停止您使用的动画

[activityIndicator startAnimating];
[activityIndicator stopAnimating];
于 2009-02-27T01:50:02.387 回答
2

使用情节提要-

创造-

  • 转到 main.storyboard(可以在 Xcode 左侧的 Project Navigator 中找到)并从对象库中拖放“活动指示器视图”。

对象库中的活动指示器视图

  • 转到头文件并为 UIActivityIndi​​catorView 创建一个 IBOutlet-

     @interface ViewController : UIViewController
    
         @property (nonatomic,strong) IBOutlet UIActivityIndicatorView *activityIndicatorView;
    
     @end
    
  • 建立从 Outlets 到 UIActivityIndi​​catorView 的连接。

开始:

当您需要在实现文件 (.m) 中使用以下代码启动活动指示器时,请使用以下代码 -

 [self.activityIndicatorView startAnimating];

停止:

当您需要在实现文件 (.m) 中使用以下代码停止活动指示器时,请使用以下代码 -

 [self.activityIndicatorView stopAnimating];
于 2014-08-22T08:57:24.363 回答
1

我认为你应该更好地使用隐藏。

activityIndicator.hidden = YES
于 2011-03-10T11:30:19.287 回答
0

活动指示器 2 秒显示并转到下一页

@property(strong,nonatomic)IBOutlet UIActivityIndicator *activityindctr;

-(void)viewDidload { [super viewDidload];[activityindctr startanimating]; [self performSelector:@selector(nextpage) withObject:nil afterDelay:2];}

-(void)nextpage{ [activityindctr stopAnimating]; [self performSegueWithIdentifier:@"nextviewcintroller" sender:self];}
于 2015-11-19T10:59:26.117 回答
0
- (IBAction)toggleSpinner:(id)sender
{
    if (self.spinner.isAnimating)
    {
        [self.spinner stopAnimating];
        ((UIButton *)sender).titleLabel.text = @"Start spinning";
        [self.controlState setValue:[NSNumber numberWithBool:NO] forKey:@"SpinnerAnimatingState"];
    }
    else
    {
        [self.spinner startAnimating];
        ((UIButton *)sender).titleLabel.text = @"Stop spinning";
        [self.controlState setValue:[NSNumber numberWithBool:YES] forKey:@"SpinnerAnimatingState"];
    }
}
于 2016-03-08T11:06:33.410 回答