繁体   English   中英

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

[英]How to use activity indicator view on iPhone?

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

这里欢迎所有方法。

创建:

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应用程序。 他们创建了一个非常可重复使用的窗口,用于在应用程序当前显示的任何视图的顶部显示“活动进行中”类型显示。

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应用程序。 他们创建了一个非常可重复使用的窗口,用于在应用程序当前显示的任何视图的顶部显示“活动进行中”类型显示。

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

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

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

[activityIndicator startAnimating];
[activityIndicator stopAnimating];

使用故事板 -

创建-

  • 转到main.storyboard(可以在Xcode左侧的Project Navigator中找到),然后从对象库中拖放“Activity Indicator View”。

对象库中的活动指标视图

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

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

开始:

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

 [self.activityIndicatorView startAnimating];

停止:

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

 [self.activityIndicatorView stopAnimating];

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

activityIndicator.hidden = YES

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM