アニメーション化されたアクティビティ インジケーターと「読み込み中」を表示するラベルを含む読み込み画面があります。すべて Interface Building を使用して作成されました。この画面は、RSS フィードの解析が完了するまでユーザーに表示されます。
デバイスがインターネットに接続されていない場合、アクティビティ インジケーターはビューから削除され、その場所にリロード ボタンが表示され、ラベル テキストが「リロード」に変更されます。
@synthesize loadingView, loadingIndicator, loadingLabel;
BOOL isFirstOffersLoad = YES;
-(void)viewDidAppear:(BOOL)animated
{
if (isFirstOffersLoad) [self parseFeed];
[super viewDidAppear:animated];
}
-(void)viewDidLoad
{
self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Navigation"]];
}
- (void)parseFeed
{
[self.loadingIndicator startAnimating];
self.loadingIndicator.hidesWhenStopped = YES;
NetworkStatus networkStatus = [[Reachability reachabilityForInternetConnection] currentReachabilityStatus];
if (networkStatus == NotReachable) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Network Unavailable" message:@"More Cobalt requires an Internet connection" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
self.loadingLabel.text = @"Reload";
self.loadingIndicator.hidesWhenStopped = YES;
[self.loadingIndicator stopAnimating];
self.reloadButton.hidden = NO;
}
else {
// Download and parse XML data
[loadingView removeFromSuperview];
[self.loadingIndicator stopAnimating];
isFirstOffersLoad = NO;
}
}
- (IBAction)reload:(id)sender {
[self parseFeed];
}
ただし、リロードボタンをタップすると、ボタンが非表示になり、アクティビティインジケーターが再表示され、ラベルのテキストが再び「読み込み中」に変更されます。アプリを最初に起動したときのように。
誰かが私を助けることができますか?