【问题标题】:How to show the activity indicator on tap gesture如何在点击手势上显示活动指示器
【发布时间】:2011-08-22 07:08:25
【问题描述】:

我想在点击手势上显示活动指示器并从当前视图控制器导航到下一个视图控制器我已经编写了点击手势方法的代码我的代码是 -

- (void)tapToAutoFocus:(UIGestureRecognizer *)gestureRecognizer
{
    textLabel.hidden = YES;
    indicator  = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(140, 150, 30, 30)];
    [indicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhiteLarge];
    [self.view addSubview:indicator];
    [indicator startAnimating];

    AccountAnfordernViewController *accountAnfordernViewController = [[AccountAnfordernViewController alloc]init];
    [self.navigationController pushViewController:accountAnfordernViewController animated:YES];
    [accountAnfordernViewController release];
}

它导航到下一个视图控制器,但指示器没有显示,我希望当它导航到下一个视图控制器时,指示器也应该显示一段时间,然后导航到下一个视图控制器。我该怎么办?

【问题讨论】:

  • 为什么要显示活动指示器?创建下一个视图控制器需要时间吗?
  • 实际上我想在导航到服务器时显示加载(如指示器),当时我想显示指示器。
  • 什么时候访问服务器?它在您发布的代码中吗?
  • 是的,当我们点击图像时,图像将转到服务器,并且下一个视图控制器想要打开。
  • 服务器访问是发生在新控制器之前还是之后?我还是不太明白。

标签: iphone objective-c


【解决方案1】:

我怀疑你需要这样做:

- (void)tapToAutoFocus:(UIGestureRecognizer *)gestureRecognizer
{
    textLabel.hidden = YES;
    indicator  = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(140, 150, 30, 30)];
    [indicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhiteLarge];
    [self.view addSubview:indicator];
    [indicator startAnimating];
    [self performSelector:@selector(pushAccountAnfordern) withObject:nil afterDelay: 0.1];
}

- (void) pushAccountAnfordern;
{
    AccountAnfordernViewController *accountAnfordernViewController = [[AccountAnfordernViewController alloc]init];
    [self.navigationController pushViewController:accountAnfordernViewController animated:YES];
    [accountAnfordernViewController release];
}

您可以改变延迟。而且,确实,0.0 可能就可以了。这种做法让当前的运行循环结束,让微调器有机会在开始下一段代码之前开始显示。对于一种不同的方法(具有潜在的副作用)来强制微调器在当前运行循环结束之前启动这个SO question

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    相关资源
    最近更新 更多