1

我一直在寻找一个教程,但似乎无法在表格视图导航栏中找到一个活动指示器。在我的 mainWindow.xib 中,我有一个带有 4 个选项卡控制器的选项卡栏控制器,每个选项卡控制器都包含一个表格视图。每个都使用 Google 托管的框架加载 JSON 提要。

在我的一个视图控制器中,我可以使用以下方法将活动指示器添加到导航栏:

UIActivityIndicatorView *activityIndcator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0,0,20,20)];
[activityIndcator startAnimating];
UIBarButtonItem *activityItem = [[UIBarButtonItem alloc] initWithCustomView:activityIndcator];
self.navigationItem.rightBarButtonItem = activityItem;

但是,可以使用以下方法将其关闭:

self.navigationItem.rightBarButtonItem.enabled = FALSE;

但是如果我把它放在我的 viewDidLoad 事件中,它会一直显示。我只希望它在我在表格视图中选择一行时显示。所以我在加载提要后将它添加到 didSelectRowAtIndexPath 和停止线的顶部。它显示但需要一两秒钟,并且只显示大约半秒钟。

在 didSelectRowAtIndexPath 事件之前触发的事件是加载事件的类型吗?如果不是,实现此类功能的标准方法是什么?

4

2 回答 2

1

希望此链接对您有所帮助。这解释了显示用于解析 rss 提要操作的活动指示器。

一切顺利。

于 2010-04-20T10:15:48.677 回答
1

在 .h 文件中

 @property (nonatomic,retain) UIActivityIndicatorView *spinner;

在 .m 文件中,@synthesize 微调器;// 也在 dealloc 中释放

在 viewDidLoad 中,执行以下操作:

UIActivityIndicatorView *activityIndcator = [[UIActivityIndicatorView alloc]    
       initWithFrame:CGRectMake(0,0,20,20)];
self.spinner = activityIndicator;
spinner.hidesWhenStopped = YES; // this is the default, but never hurts to be sure
UIBarButtonItem *activityItem = [[UIBarButtonItem alloc] initWithCustomView:spinner];
self.navigationItem.rightBarButtonItem = activityItem;

在 didSelectRowAtIndexPath 中,执行以下操作:

 [self.spinner startAnimating];

进纸完成后,请执行以下操作:

 [self.spinner stopAnimating];
于 2012-02-03T03:03:58.820 回答