【问题标题】:Objective C- UIActivityIndicatorView not animatingObjective C- UIActivityIndi​​catorView 没有动画
【发布时间】:2013-12-09 22:43:27
【问题描述】:

让我的 UIActivityIndi​​catorView 开始制作动画时遇到了一些问题。这是我的设置:

在我的视图控制器的 viewDidLoad 中,我有:

- (void)viewDidLoad{
    schoolList = NO;
   _activityIndicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
   [_activityIndicator startAnimating];

   [NSThread detachNewThreadSelector: @selector(getSchoolList) toTarget: self withObject: nil];
   [self performSelector:@selector(updateUI) withObject:nil afterDelay:20.0];
   [super viewDidLoad];

 }

选择器 getSchoolList 与服务器通信以检索给定状态的学校列表。然后,调用选择器 updateUI 以使用列表填充我的 UIPickerView。在我的 updateUI 选择器中,我有:

-(void)updateUI {   
  _schools = [_server returnData];

  if(!(_schools == nil)) {
    NSLog(@"update the UI");
   }
  else
    NSLog(@"Error:Show re-load button");

[_activityIndicator stopAnimating];
}

当我运行此代码时,我的 UIActivityIndi​​catorView 会显示,但没有动画。有人可以解释为我的 UIActivityIndi​​catorView 设置动画的正确方法吗?任何帮助深表感谢。

【问题讨论】:

  • 奇怪的是你可以看到它,因为你没有将它作为子视图添加到任何视图中。 @Ralfonso 的回答指出了这一点。
  • _activityIndicator 是 Interface Builder 中 UIActivityIndi​​catorView 的 IBOutlet 吗?
  • 我在界面构建器中添加了活动视图,这就是为什么即使我从未将它添加到视图中我也能看到它的原因。现在一切都很好,谢谢大家的帮助
  • 我将更新我的答案以包含该场景。

标签: ios objective-c uiactivityindicatorview


【解决方案1】:

您需要将 UIActivityIndi​​catorView 添加到 viewDidLoad 中的视图中,如下所示:

- (void)viewDidLoad {
    schoolList = NO;
   _activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];

   [self addSubview:_activityIndicator];

   [_activityIndicator startAnimating];

   [NSThread detachNewThreadSelector: @selector(getSchoolList) toTarget: self withObject: nil];
   [self performSelector:@selector(updateUI) withObject:nil afterDelay:20.0];
   [super viewDidLoad];
}

编辑

如果_activityIndicator 是一个正确连接到 UIActivityIndi​​catorView 的 IBOutlet,您应该只需要选中“动画”框。无需分配/初始化另一个 UIActivityIndi​​catorView。

【讨论】:

  • 这是问题所在,谢谢。另外,我没有在界面构建器中选中“动画”复选框
【解决方案2】:

断点更新功能,但我看不到您将其作为视图添加到层​​次结构的位置。我认为您正在查看程序中的不同指标视图。

【讨论】:

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