【问题标题】:UIActivityIndicatorView Starting and StoppingUIActivityIndi​​catorView 启动和停止
【发布时间】:2011-03-21 10:25:39
【问题描述】:

我有一个活动指示器,需要在单击按钮后立即激活,然后在条件语句后停止...

我已经在网上查看了实现这一点的方法,但我能找到的只是用 webviews 设置它们,而不是简单地打开它们然后再关闭......下面是我的基本问题

-(IBAction)SavePassword:(id)sender{
\\start animating activity indicator
if(post recieved no errors){
\\stop animating activity indicator
}
\\else{
return the user error
}

如果有人能帮忙就太好了:)

【问题讨论】:

  • 你是异步操作吗?因为如果是,您必须在回调中停止动画。
  • 我正在使用 asihttp,它只是一个同步请求......也许如果我将它更改为异步它会工作..

标签: iphone objective-c cocoa-touch ios ios4


【解决方案1】:

这很简单... 创建一个插座并在界面生成器中连接它..

@property(nonatomic, retain) IBOutlet UIActivityIndicatorView *activityIndicator;

在实现中只需使用这两种方法来启动和停止动画...

[self.activityIndicator startAnimating];

[self.activityIndicator stopAnimating];

【讨论】:

  • 感谢这真的很有帮助。但是我已将指示器设置为隐藏....所以它现在需要在按下按钮时出现...
  • 活动指示器有一个属性 'hidesWhenStopped' 将其设置为 'YES'(或 'TRUE')...
  • @MrPink 在继续学习之前,您可以先阅读一些有关 iOS 和 Objective C 的基本教程吗?
  • 从那以后一个月过去了。猜猜它会让你打倒那些想向别人学习的人......
  • @lukya 毫无疑问,他是在 TheBlack 导演的。
【解决方案2】:

我在使用相同方法时遇到了隐藏和显示问题。通过设置可见性,它不会立即改变它,而只会在方法结束时改变。所以在你的情况下,它会显示指示器(技术上不在屏幕上)做一些事情,然后再次隐藏它。对于用户来说,它永远不会出现。您可以尝试在后台线程上执行该操作,但不确定它是否足够安全。 (因为通常所有像.hidden 这样的绘图函数都必须发生在主线程上)

[activityIndicator performSelectorInBackground:@selector(startAnimating) withObject:nil];

【讨论】:

  • 您告诉过您必须将其设置为可见,然后您需要在[indicator setHidden:NO]; 周围包装另一个方法,因为YES 不是对象。然后调用这个只设置可见性的新方法。
【解决方案3】:

在界面生成器的帮助下放置一个活动指示器。

然后制作该指标的 iboulet。

IBoulet UIActivityIndicator *ac;

然后声明属性并对其进行赋值

 @property(nonatomic,retain) UIActivityIndicator *ac;

在实现类中综合一下。

   @synthesize ac;

然后

[ac startAnimating];

你想停在哪里

[ac stopAnimating];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    相关资源
    最近更新 更多