1

SDWebImageサーバーからリモートイメージをダウンロードするためにライブラリを使用しました。しかし、EDGE接続では時間がかかりすぎて、ダウンロード後にNSLog値が表示されますが、画像は下に表示されませんUIButton

コード:

int Width = 0;

        for (int i = 0; i<[productimg_array count]; i++ ) {

            NSLog(@"index %@", productimg_array[i]);

            imgView1=[[UIButton alloc]initWithFrame:CGRectMake(20+(i*74), 0, 72, 72)];

            Width = Width + 20+(i*74);

            [imgView1 setTag:i+1];

            [imgView1 addTarget:self action:@selector(dbClicked:) forControlEvents:UIControlEventTouchUpInside];

            // [imgView1 setImageWithURL:[NSURL URLWithString:[productimg_array objectAtIndex:i]]
            //   forState:UIControlStateNormal];

           [imgView1 setImageWithURL:[NSURL URLWithString:[productimg_array objectAtIndex:i]]  forState:UIControlStateNormal completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {

            NSLog(@"download images 1");
          }];

          [scrollview addSubview:imgView1];

        }

[scrollview setContentSize:CGSizeMake(Width,imgView1.frame.size.height+20)];
4

3 に答える 3

0

この方法は次の場所から使用できます。UIButton+WebCache.h

- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state;

これを呼び出すことは似ていますが、

[imgView1 setImageWithURL:[NSURL URLWithString:[productimg_array objectAtIndex:i]] forState:UIControlStateNormal];

このメソッドは画像をダウンロードし、ボタンに直接設定します。

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

于 2013-09-24T08:09:36.123 に答える
0

これは私のために働いたものです。私はループを保持しますが、使用しないので、コードと一致します。imgView1 を UIButton として宣言し、URL を stackoverflow 画像にハードコーディングしました。imgView1 のタイプと productimg_array の内容を確認することをお勧めします

int Width = 0;
UIButton *imgView1;
for (int i = 0; i<1; i++ ) {


    imgView1=[[UIButton alloc]initWithFrame:CGRectMake(20+(i*74), 0, 72, 72)];

    Width = Width + 20+(i*74);

    [imgView1 setTag:i+1];

    [imgView1 addTarget:self action:@selector(cancelPressed:) forControlEvents:UIControlEventTouchUpInside];

    [imgView1 setImageWithURL:[NSURL URLWithString:@"http://cdn.sstatic.net/stackoverflow/img/sprites.png?v=6"]  forState:UIControlStateNormal completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {

        NSLog(@"download images 1");
    }];

    [self.view addSubview:imgView1];

}
于 2013-09-24T08:09:08.270 に答える