0

これは、UIImageView で AFNetworking のカテゴリ メソッドを使用しない場合に機能しますが、これは非同期で行われているため、AF はおそらく行われたことを上書きしていることに気付きました。

これは私のカスタム UITableViewCell にあります (自分自身がセルです):

NSURL *url = [NSURL URLWithString:video.thumbnail];    
[self.imageView setImageWithURL:url
               placeholderImage:[UIImage imageNamed:@"Logo.png"]];
// not working
CALayer *layer = [self.imageView layer];
[layer setMasksToBounds:YES];
[layer setCornerRadius:10.0];

setImageWithURL の呼び出しの前にも配置してみました。

これが私が今持っているものであり、角を丸めていません:

NSURL *url = [NSURL URLWithString:_video.thumbnail];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
UIImage *placeHolder = [UIImage imageNamed:@"Logo"];
__weak UIImageView *imageView = self.thumbnail;

[self.thumbnail setImageWithURLRequest:request placeholderImage:placeHolder success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {

    imageView.image = image;
    // round the edges of the video thumbnail
    CALayer *layer = [imageView layer];
    [layer setMasksToBounds:YES];
    [layer setCornerRadius:8.0];

} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
    NSLog(@"couldn't load image: %@", [error localizedDescription]);
}];
4

3 に答える 3

5
NSURLRequest *request = [NSURLRequest requestWithURL:url];
__weak UIImageView *imageView = self.imageView;
[self.imageView setImageWithURLRequest:request placeholderImage:[UIImage imageNamed:@"Logo.png"] success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
    imageView.image = image;
    CALayer *layer = imageView.layer;
    layer.masksToBounds = YES;
    layer.cornerRadius = 10.0f;
} failure:NULL];
于 2013-04-14T21:18:20.893 に答える
2

AFNetworking を使用したことはありませんsetImageWithURLが、「成功」ブロックを取るメソッドのバージョンがあることがわかります。そのバージョンを使用してみて、「成功」ブロックで、画像ビューのレイヤーを更新してください。

于 2013-04-14T20:03:44.097 に答える