0

そのウィンドウの特定のブロックに画像を表示したいウィンドウがあります。イメージは、ローカル XML ファイルから取得されます。XML ファイルを解析し、ログに画像の値を取得しましたが、その特定のブロックに配置する方法がわかりません。参考までに下の画像を貼っておきます。

UIImageView

矢印マークは、この UIImageView 内で画像を取得する必要があることを表しています。また、ストーリーボードで UIIMageView を参照するために名前を付ける必要があるとは思えません。アイデアを提案してください。

編集済み

私のパーサーコード:

NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Sample.xml"];
NSData *data = [[NSData alloc] initWithContentsOfFile:path];
 NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:data];
[xmlParser setDelegate:theParser]

この後、画像を取得するためにこのコードを使用しています:

UIImage *image = [UIImage imageWithContentsOfFile:@"/Users/administrator/Desktop/imageApp/resources/Main_pic1.png"];

この後、私は続行する方法がわかりません。

4

2 に答える 2

1

はい、IBOutlet.h ファイルで作成する必要があります

いいねして、imgviewIBOutlet UIImageView *imgview;を from xib に接続しますUIImageview

その後、画像を画像ビューに設定できます。

NSURL *URL = [NSURL URLWithString:[your url which u get form local xml]];
NSData *imageData = [NSData dataWithContentsOfURL:URL];
UIImage *image = [UIImage imageWithData:imageData];

imgview.image=image;

これを試してください、それはあなたを助けるかもしれません。

于 2012-11-24T06:09:31.157 に答える
0

次の方法で、URL 画像を Uiimageview に直接渡すことができます。

YourImageView.image = [UIImage imageWithContentsOfURL:YourUrl];

NSData を介して同等のことを行うことは可能ですが、それは悪い考えです。代わりに、画像は NSURLConnection を使用して非同期にダウンロードする必要があり、完全にダウンロードされたら、UIImage に変換して画像ビューに割り当てる必要があります。

すべての URL をNSMutableArry *UrlArrayに保存してから、

int x = 0;
int y = 10;

for (int i = 0; i< [UrlArray]; i++)
{
    UIImageView *imageView = [[[UIImageView alloc]initWithFrame:CGRectMake(3+x,y, 80,
    80)]autorelease];
    imageView.backgroundColor = [UIColor blueColor];
    if (x >= 300)
    {
        x = 0;

        y = y+imageView.frame.size.height+3;
        imageView.frame = CGRectMake(x+3 , y, 80, 80);

    }


     CIImage *beginImage = [CIImage imageWithContentsOfURL:[UrlArray ObjectAtIndex:i]];
    imageView.image = [UIImage imageWithCIImage:beginImage];
    x = x+imageView.frame.size.width+5;
    [self.view addSubview:imageView];

}

私が推測する仕事をします。

于 2012-11-24T06:40:53.637 に答える