我是iphone開發新手。我創建了一個應用程序,在第一個標籤欄視圖中加載一個網頁,在第二個標籤欄視圖中,它解析一個xml文件並在表格視圖中顯示內容。當我點擊第二個標籤欄時,只有在解析完成後才能看到標籤欄視圖,直到解析時間標籤欄顯示爲未選定狀態。我想在解析完成時顯示帶活動指示器的標籤欄視圖。如何我做到了,請幫助我。謝謝。如何在iphone中解析完成時顯示標籤欄視圖?
回答
沒有額外的信息很難說,但我想你解析viewDidLoad()
或loadView(
內的XML文件)。但是,解析可能實際上需要時間,並且您正在阻止負責更新UI的主線程。這就是爲什麼只有在解析完成後才能看到標籤欄的原因。
要解決這種情況,您需要推遲顯示數據的表視圖,顯示活動指示符以告訴用戶正在發生的事情,並啓動後臺線程來負責解析XML文件。處理線程XML文件一旦完成,然後停止活動指示器並使用解析的數據設置您的表視圖。
你可以做到這一點很容易利用現有的API(detachNewThreadSelector:toTarget:withObject:
和performSelectorOnMainThread:withObject:waitUntilDone:
等),然而,你可能要考慮採取的MBProgressHUD提供正是你需要包裹在一個非常容易使用類的功能優勢。
我假定你知道或將能夠弄清楚如何讓活動指示器工作。
您可以使用NSXMLparser委託方法來分析xml數據。您可以收集模型對象中的xml數據,這些數據是您在類中解析xml(即簡單數組)的屬性。然後,從希望收到完成解析的通知的角度來看,您可以使用鍵值觀察(KVO)將其註冊爲關鍵路徑的觀察者。一旦這些屬性的值發生變化,您的視圖(或中間類)將被髮送一條消息,然後它可以用來更新顯示。
只要發送消息的類是適用於這些屬性的鍵值編碼(KVC),這些消息就會發送給註冊的觀察者。在大多數情況下,通過屬性使您的ivars可用。
添加一個觀察者:
- (void)addObserver:(NSObject *)anObserver forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(void *)context
通知的變化:
- (void)didChangeValueForKey:(NSString *)key
退房鍵值觀察文檔:
我想你應該必須在指定的時間內使用NSTimer類。
執行解析數據的方法(即,GetXMLData --user定義的方法),通過它的方法,
NSTimer *currentTimer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(GetXMLData:) userInfo:nil repeats:NO];
,並開始活動指示燈使用
[activityIndicator startAnimating];
停在它下面的方法
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
.
.
.
[activityIndicator stopAnimating];
}
我希望你undrstand我是什麼告訴... 做評論,如果需要任何幫助...
- 不做在MainThread分析,分離新線程做解析([NSThread detachNewThreadSelector:toTarget:withObject:])
- 解析後(parserDidEndDocument:)使用performSelectorOnMainThread刷新的tableView 。
- 1. iPhone:如何隱藏標籤欄以顯示全屏視圖
- 2. 如何顯示標籤欄像iPhone
- 3. 如何在iphone中解析xml標籤
- 4. 如何顯示鍵盤上的標籤欄時出現在iphone
- 5. 顯示視圖上標籤欄
- 6. 如何在標籤欄控制器上顯示模態視圖?
- 7. iphone:如何在點擊標籤欄顯示活動指標?
- 8. 如何在渲染EmberJS視圖時解析XFBML標籤?
- 9. 如何從上方顯示UIActionSheet視圖標籤欄控制器?
- 10. iPhone:視圖控制器的標籤欄
- 11. 不顯示標籤欄圖像圖標
- 12. 如何忽略iphone標籤欄按下,直到標籤已完成加載?
- 13. Iphone標籤欄圖標
- 14. 問題與顯示覆合視圖的標籤欄視圖
- 15. 如何在標籤欄中突出顯示標籤
- 16. 顯示選擇標籤欄項目時的模式視圖
- 17. 在標籤頁視圖中顯示viewController
- 18. UISearchBar顯示在根視圖中,但不顯示在標籤欄上的任何其他視圖
- 19. 標籤欄不顯示圖標?
- 20. 標籤欄圖標不會顯示
- 21. iOS:舊的標籤欄圖標顯示
- 22. 在標籤欄頂部顯示視圖而不是在
- 23. TKCalendarMonthTableViewController在標籤欄視圖
- 24. iPhone視圖層次結構問題:如何在標籤欄上繪製視圖?
- 25. 如何在表格視圖爲空時顯示標籤
- 26. 如何更改標籤欄圖標的突出顯示顏色? (iPhone/iPad)
- 27. 如何在代碼中設置iPhone標籤欄圖標?
- 28. 如何在Xamarin.Forms中的標籤視圖頂部顯示圖像?
- 29. iphone工具欄顯示視圖
- 30. 如何在使用嵌套標籤解析XML時在ListView中顯示數據?