1

画像の場所を取得しようとしましたが、UIImageView に表示されません。取得に使用されるコードは、

class.h ファイルで、

@property (strong, nonatomic) IBOutlet UIImageView *imageview;

class.m ファイル、

NSString *imagee;

imagee = [result objectForKey:@"image"];
NSLog(@"image is %@ \n",imagee);

「imagee」文字列は、画像の正確な URL を返す可能性があります。

画像表示用のコードは、

UIImage *imagevieww = [UIImage imageNamed:[result objectForKey:@"image"]];
imageview.image = imagevieww;

しかし、最終的に、画像を配置する空きスペースを取得できました。

4

7 に答える 7

2

私の問題の答えを見つけました。この答えを見つけるのを手伝ってくれたすべての人に感謝します。

更新: Web サービスから正しい画像を取得できるように、urlstring に「http」を含めます。

 NSString *urlString = [NSString stringWithFormat:@"http://%@",[result objectForKey:@"image"]];
    NSLog(@"url image is %@ \n",urlString);

    NSData *imageData = [[NSData alloc] init];

   imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]];

    NSLog(@"image data is %@",imageData);

    imageview.image = [UIImage imageWithData:imageData];
于 2013-09-19T07:32:37.963 に答える
1

このUIImageメソッドimageNamed:は、ローカルに存在するイメージをロードするために使用されます。あなたの場合、URLから画像をダウンロードする必要があります。これを行うには、要件に基づいてさまざまな方法があります。

最も簡単なのは、

//URL encode the string
NSString *url = [[result objectForKey:@"image"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]];
imageview.image = [UIImage imageWithData:imageData];

これにより、イメージが同期的にメイン スレッドでダウンロードされます (メイン スレッドから呼び出された場合)。これをバックグラウンド スレッドで非同期に実行したいと考えています。通常dispatch_async、これには (GCD) が使用されます。

それが役立つことを願っています!

于 2013-09-17T09:39:37.790 に答える
0

.h

@property (strong, nonatomic) IBOutlet UIImageView *imageView;

.m

Web サービスから画像を取得:

NSURL *url = [NSURL URLWithString:@"http://www.site.com/image.jpg"];
NSData *myImageData = [NSData dataWithContentsOfURL:url];        
UIImage *image = [[UIImage alloc] initWithData:myImageData];

イメージを ImageView に設定します。

imageView.image = image;
于 2013-09-17T11:33:30.693 に答える
0

これを試して

NSString *imageString = [NSString stringWithFormat:@"data:image/jpg;base64,%@",[yourDict objectForKey:@"ImageString"]];
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:imageString]];
UIImage *image = [UIImage imageWithData:imageData];
于 2013-09-17T11:31:35.857 に答える
0

私は次のことを行いましたが、それは私にとってはうまくいきます。

NSURL *url = [NSURL URLWithString:@"http://www.yourdomain.com/imagename.png"];
NSData *myData = [NSData dataWithContentsOfURL:url];
UIImage *image = [[UIImage alloc] initWithData:myData];
["%storyboardImageName%" setImage:image];

storyboardImagename は、xib またはストーリーボードに配置する変数であることに注意してください。変更する必要があります。また、実際にそれを結び付ける「setImage」属性にも注意してください。

お役に立てれば。

于 2014-08-29T21:40:19.400 に答える
-1

を に変換しURLますUIImage

これを試して:

NSURL *url = [NSURL URLWithString:@"http://yoursite.com/imageName.png/jpg"];

NSData *myData = [NSData dataWithContentsOfURL:url];

UIImage *image = [[[UIImage alloc] initWithData:myData] autorelease];

この画像をイメージビューで使用します。問題が発生した場合は、バックグラウンドで画像をダウンロードしてみてください。 このリンクをたどってください

于 2013-09-17T09:39:03.800 に答える