2012-09-13 15 views
7

UIViewController içinde Storyboard kullanılarak oluşturulan bir UIImageView var.Ölçekleme UIImageView ekran genişliğine sığdırmak için

Ben ekran genişliğine sığacak ve orantılı yüksekliği rescale için resmin genişliğini yeniden ölçeklendiriniz çalışıyorum:

[fImage setImage:[UIImage imageNamed: @"f2345.jpeg"]]; 
[fImage sizeToFit]; 
fImage.contentMode = UIViewContentModeScaleAspectFit; 
CGRect frame = filmImage.frame; 
frame.size.width = [[UIScreen mainScreen] bounds].size.width; 
// Alternative way to do the similar thing - gives the same result in my case 
// frame.size.width = [[UIScreen mainScreen] applicationFrame].size.width; 
fImage.frame = frame; 

Daha sonra ölçekli bir resmi gösterir ancak diğer bazı alan uyuyor ve bir var resmimdeki beyaz boşluk.

cevap

12

bu kodu kullanmayı deneyin:

float imgFactor = frame.size.height/frame.size.width; 
frame.size.width = [[UIScreen mainScreen] bounds].size.width; 
frame.size.height = frame.size.width * imgFactor; 
+0

harika Works, teşekkür! Halen neden davada çalıştığınızı anlamıyorum, lütfen açıklayabilir misiniz? – syntagma

+0

nedeni, görüşünüzün çerçevesini tanımlamanız; Bunu yapmak, arayüz oluşturucuda belirleyebileceğiniz herhangi bir otomatik ölçeklemeyi yenecektir; çerçeveyi değiştirirseniz, istediğiniz şeye göre daha iyi değiştirin. Yaptığım şey, genişliğin tam boyuta ayarlanması, sonra yüksekliğin oranlarını bozulmadan koruyacak şekilde hesaplanmasıdır. – sergio

İlgili konular