2011-10-03 34 views
1

我有這樣的代碼:UIImage的NSData的有沒有大小

... 
NSData * dimage = [[NSData alloc]initWithData:[datosImagen objectForKey:@"Image"]]; 
UIImage * imagenAMostrar = [[UIImage alloc] initWithData:dimage]; 
UIImageView * imAMostrar = [[UIImageView alloc] initWithImage:imagenAMostrar]; 
... 

我需要調整我的UIImageView,類似這樣的尺寸:setFrame:CGRectMake(0,60,320,240)。 但爲了這個,我需要的UIImageView大小....

NSLog(@" Image width:%d",imagenAMostrar.size.width); 
NSLog(@" Image height:%d",imagenAMostrar.size.height); 

結果是:

2011-10-03 13:32:28.993 Catalogo-V1[2679:207] Image width:0 
2011-10-03 13:32:28.994 Catalogo-V1[2679:207] Image height:0 

爲什麼?

+0

可以先檢查是否已創建了圖像對象或不先這樣'如果([UIImage imageWithData:dimage])' – Robin

+0

不要忽視警告,他們在那裏幫助你。 – zaph

回答

1

您是否在NSLog聲明中得到任何警告?你應該得到一個轉換類型警告。 widthheightfloat-s。您應該使用%f作爲轉換說明符。你應該將它們打印這樣,

NSLog(@" Image width:%f", imagenAMostrar.size.width); 
NSLog(@" Image height:%f", imagenAMostrar.size.height); 

您可以設置幀這樣的圖像視

imAMostrar.frame = CGRectMake(0, 60, imagenAMostrar.size.width, imagenAMostrar.size.height);