我找了一个教程,似乎无法在表格视图导航栏中找到一个活动指示器。在我的mainWindow.xib中,我有一个带有4个Tabs控制器的Tab Bar Controller,每个控制器都包含一个表视图。每个使用Google托管的框架加载JSON Feed。
在我的一个View Controller中,我可以使用以下命令向导航栏添加活动指示器:
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事件中,它会一直显示。我只想在表视图中选择一行时显示它。所以我在加载Feed后将它添加到didSelectRowAtIndexPath的顶部和停止行。它显示但需要一两秒钟,只有大约半秒钟的节目。
是一个在didSelectRowAtIndexPath事件之前触发事件的事件吗?如果不是实现这种功能的标准menthord是什么?
答案 0 :(得分:1)
希望这个link帮助你。这解释了显示用于解析rss feed的动作的活动指示器。
一切顺利。
答案 1 :(得分: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];
完成Feed后,请执行以下操作:
[self.spinner stopAnimating];