单击表格单元格时如何为视图设置活动指示器

时间:2014-06-19 12:02:12

标签: ios objective-c storyboard

我正在使用故事板开发一个iPad应用程序。在我的视图控制器中,一个表设置为左侧,另一个视图设置为右侧。我需要在右侧视图上方设置一个活动控制器。当我单击右侧表格单元格并需要在1秒后停止时需要开始制作动画。我正在使用“didSelectRowAtIndexPath”函数来选择表格单元格。如何为我的情况设置活动指示器。

3 个答案:

答案 0 :(得分:1)

在didSelectRowAtIndexPath方法中,您可以调用以下函数: -

-(void)setActivityIndcator:(UIView *)view
{
  transparentView = [[UIView alloc] init];
  transparentView.frame = view.frame;  //Provide frame of right side view.
  transparentView.alpha = 0.5;   //To provide transparent look and feel.

  activityInd = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];

  activityInd.frame = CGRectMake(transparentView.frame.size.width/2, transparentView.frame.size.height/2, 50, 50);  //Change as you want it to be

  [transparentView addSubview:activityInd];

  [activityInd startAnimating];

  [self performSelector:@selector(stopIndicator) withObject:self afterDelay:1];
}

-(void)stopIndicator  //This method will be called after delay and would remove view and activityInd
{
  [activityInd stopAnimating];

  [activityInd removeFromSuperview];
  [transparentView removeFromSuperview];
}

您还可以创建它的子类,并通过创建它的对象在任何viewcontroller中使用它。这就是为什么你不需要每次写下所有功能。

答案 1 :(得分:0)

在此方法中使用此方法 didSelectRowAtIndexPath方法

UIActivityIndicatorView *activityView = 
[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
activityView.frame = CGRectMake(120, 230, 50, 50);
[self.view addSubview:activityView];

答案 2 :(得分:0)

使用TableView的委托方法didSelectRowAtIndexPath并将以下代码写入其中

UIActivityIndicatorView *activity = 
[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
activity.frame = CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/2, 50, 50);
[self.view addSubview:activity];
[activity startAnimating];

在您的工作完成后停止此操作并将其从视图中删除