私は以下のコードを使ってサーバーから画像を取得しています。私は動力学的な画像の高さを取得し、スクロールビューで画像を追加したい。スクロールビューのdispatch_asyncメソッドでダイナミックな画像の高さを取得するには
下のコードから、dispatch_asyncメソッドの外側の高さを取得すると、ゼロが表示されます。
どのように非同期画像の読み込みで画像の動的な高さを得ることができますか。
- (void)viewDidLoad {
[self LoadViewPublicEvents];
}
-(void) LoadViewPublicEvents
{
for (int i=0;i<arrayPublicEvents.count;i++)
{
UIImageView *img_vw1=[[UIImageView alloc] init];
dispatch_async(dispatch_get_global_queue(0, 0), ^{
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://abc.us/uploads/event/%@",[[arrayPublicEvents objectAtIndex:i] valueForKey:@"image"]]]];
UIImage *images = [[UIImage alloc]initWithData:imageData];
dispatch_async(dispatch_get_main_queue(), ^{
img_vw1.image = images;
scaledHeight = images.size.height;
});
});
NSLog(@"%f",scaledHeight); // it print zero
img_vw1.backgroundColor=[UIColor clearColor];
img_vw1.frame=CGRectMake(0,y+5,screen_width,197);
[img_vw1 setContentMode:UIViewContentModeScaleAspectFit];
img_vw1.backgroundColor=[UIColor clearColor];
[self.scrll_vw addSubview:img_vw1];
}
}
事前に感謝
dispatch_async(dispatch_get_main_queue() 、^ { img_vw1.image = images; }); <---このブロック(または非同期部分)をCGFloat height = images.size.heightで単純に拡張します。 – Lepidopteron
私の編集コードを見てください。どのように私は高さの変数@鱗翅目を使用する必要があります – diksha