2012-09-13 11 views
7

मेरे पास UIImageView है UIViewController के अंदर स्टोरीबोर्ड का उपयोग करके बनाया गया है।स्केलिंग UIImageView स्क्रीन चौड़ाई फिट करने के लिए

मैं छवि की चौड़ाई rescale करने के लिए स्क्रीन चौड़ाई फिट और आनुपातिक ऊंचाई rescale कोशिश कर रहा हूँ:

[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; 

यह तो एक छवि है जो माप लिया जाता है पता चलता है, लेकिन यह कुछ अन्य क्षेत्र फिट बैठता है और वहाँ है एक Whitespace मेरी छवि aruond।

उत्तर

12

इस कोड का उपयोग का प्रयास करें:

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

अच्छा काम करता है, धन्यवाद! मुझे अभी भी यह नहीं पता कि आपने मेरे मामले में काम क्यों किया है, क्या आप इसे समझा सकते हैं? – syntagma

+0

कारण यह है कि आप अपने विचार के फ्रेम को परिभाषित कर रहे हैं; ऐसा करने से आप इंटरफ़ेस बिल्डर में सेट किए गए किसी भी ऑटोस्केलिंग को पराजित करेंगे; इसलिए, यदि आप फ्रेम को संशोधित करते हैं, तो आप जो चाहते हैं उसके अनुसार इसे बेहतर तरीके से संशोधित करें। मैं क्या करता हूं, चौड़ाई को पूर्ण आकार में सेट कर रहा है, फिर ऊंचाई को उस तरीके से गणना कर रहा है जो अनुपात को बरकरार रखता है। – sergio

संबंधित मुद्दे