如何在iPhone上使用活动指示器视图?

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

所有的方法都欢迎在这里。

创build:

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]; 

当你终于完成,从视图中删除微调,并释放。

看看开源的WordPress应用程序。 他们有一个非常可重用的窗口,用于显示应用程序当前显示的任何视图顶部的“正在进行的活动”types显示。

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

你想要的文件是:

  • WPActivityIndi​​cator.xib
  • RoundedRectBlack.png
  • WPActivityIndi​​cator.h
  • WPActivityIndi​​cator.m

然后显示它使用类似于:

 [[WPActivityIndicator sharedActivityIndicator] show]; 

并隐藏:

 [[WPActivityIndicator sharedActivityIndicator] hide]; 

关于:

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

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

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

关于这个的文件是非常清楚的。 这是一个UIView子类,所以你可以像使用其他视图一样使用它。 开始/停止您使用的animation

 [activityIndicator startAnimating]; [activityIndicator stopAnimating]; 

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

 activityIndicator.hidden = YES 

使用Storyboard-

创build-

  • 转到main.storyboard(可以在Xcode左侧的Project Navigator中find),并从Object Library中拖放“Activity Indicator View”。

活动指标视图从对象库

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

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

开始:

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

  [self.activityIndicatorView startAnimating]; 

停止:

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

  [self.activityIndicatorView stopAnimating]; 

活动指示器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];} 
 - (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"]; } }