UIImage
は、アプリケーションのロードが完了して最初のView Controllerが表示された直後に表示されません。 Webからダウンロードされるため、画像の表示に遅延があります。 applicationDidFnishLaunchingの前に呼び出されるメソッドがあるので、イメージをダウンロードして即座に表示できますか?ここでiPhone SDK:最初のView Controllerが表示される前にUIImageViewをダウンロードして設定します。
は私が画像をダウンロードするために使用していたコードです:デリゲートで
、この方法はappDidFinishLaunchingに呼び出されます。
-(void)downloadImages {
NSString *mainImagesJSON = [[NSString alloc]initWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"mainImagesJSON.php"]]encoding:NSUTF8StringEncoding error:nil];
SBJsonParser *parser = [[SBJsonParser alloc]init];
NSDictionary dictionary1 = [[parser objectWithString:mainImagesJSON error:nil]mutableCopy];
mainImagesArray = [[dictionary1 valueForKey:@"imgSrc"]mutableCopy];
NSString *imagesTablePath = [mainImagesArray objectAtIndex:0];
NSURL *imgURL = [NSURL URLWithString:imagesTablePath];
NSData *imageData = [NSData dataWithContentsOfURL:imgURL];
UIImage *image1 = [UIImage imageWithData:imageData];
imageStorageArray = [[NSMutableArray alloc]init];
[imageStorageArray addObject:image1];
}
そして、最初のviewController.m中:
AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
UIImage *image1 = [[delegate imageStorageArray]objectAtIndex:0];
[mainHomeImageView setImage:image1];