2010-06-08 13 views
7

मेरे पास UIImageView है जिसका फ्रेम, छवि लोड होने से पहले सेट है, छवि के लिए हमेशा बहुत बड़ा होता है, इसलिए जब मैं कोनों को गोल करने की कोशिश करता हूं, उदाहरण के लिए, कुछ नहीं होता है।बिना किसी छवि के अंतर्निहित छवि को फिट करने के लिए UIImageView का आकार कैसे बदलें?

मैं फ्रेम का आकार कैसे बदल सकता हूं, यह अंतर्निहित छवि के समान आकार है, जबकि यह सुनिश्चित करते हुए कि UIImageView का केंद्र बिंदु परिवर्तित नहीं होता है?

उत्तर

12

आप एक UIView की सीमा के केंद्र में परिवर्तन नहीं होगा बदलते हैं तो।

CGRect bounds; 

bounds.origin = CGPointZero; 
bounds.size = newImage.size; 

imageView.bounds = bounds; 
imageView.image = newImage; 
+0

मैं आज रात कोशिश करूँगा- हालांकि इसे बहुत समझ में आता है। –

+1

कम से कम आईओएस 9 +, एक्सकोड 7+ में काम नहीं करता है। –

+0

@Ezekiel के साथ सहमत हैं ... यह आईओएस 9 पर काम नहीं करता है –

2

.. निम्नलिखित लाइनों के साथ कुछ कोशिश परीक्षण नहीं

CGSize imageSize = image.Size; 
CGPoint oldCenter = imageView.center; 

// now do some calculations to calculate the new frame size 
CGRect rect = CGRectMake(0, 0, imageSize.width, imageSize.height); 
imageView.frame = rect; 
imageView.center = oldCenter; 
संबंधित मुद्दे