2010-04-20 23 views
1

我查找了一個教程,似乎無法找到一個用於表視圖導航欄中的活動指示器。在我的mainWindow.xib我有一個選項卡欄控制器與4個選項卡控制器,每個包含一個表視圖。每個使用Google託管的框架加載JSON供稿。iPhone xcode - 帶有標籤欄控制器和多表視圖控制器的活動指示燈

在我的視圖控制器之一,我可以通過添加一個活動的指標爲導航欄:但是

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和stop行的頂部。它顯示,但需要一秒或兩個,只有約半秒的節目。

是fireSecurityRowAtIndexPath事件之前的一個事件類型的加載事件嗎?如果不是什麼是實現這種功能的標準理念?

+0

你想顯示rss提要的解析動作指示嗎? – Warrior 2010-04-20 09:43:39

+0

是的,通常需要大約2 - 3秒才能移動到已解析的Feed數據。 – Frames84 2010-04-20 09:58:41

+0

我認爲在解析完成的視圖中沒有顯示活動指示符,請不要將活動指示符放在didSelectRowAtIndexPath中,而應將其放入解析完成的視圖的viewDidLoad中,並在解析完成後移除指示器 – Warrior 2010-04-20 10:12:51

回答

1

希望這個link可以幫助你。這解釋爲顯示RSS源的解析動作指示器。

一切順利。

+0

種。但是我需要在didSelectRowAtIndexPath方法中啓動活動指示器。我用最高級別的行加載它,然後當選擇一個時,它會關閉,並加載我所選擇的行的JSON feed,需要2-3秒才能完成。謝謝 – Frames84 2010-04-20 10:51:19

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]; 
相關問題