2012-08-30 33 views
5

UIImageView के लिए, अलग-अलग मोड विकल्प दिए जाते हैं इंटरफ़ेस बिल्डर जैसे पहलू फ़िट, पहलू भरें। क्या कोई मुझे बता सकता है कि इन दो तरीकों में अंतर क्या है: भरने के लिए स्केल वीएस रेड्रो?अंतर बी/डब्ल्यू रेड्रा और स्केल मोड भरने के लिए?

उत्तर

21

UIViewContentModeScaleToFill

पहली बार, drawRect: कहा जाता है और दृश्य प्रदान की गई है। बाद में, जब ज्यामिति बदलती है, drawRect: को कॉल नहीं किया जाता है और पहले से प्रस्तुत सामग्री को आकर्षित करने के लिए स्केल किया जाता है।

UIViewContentModeRedraw

हर बार जब आप सीमा बदलने के लिए, drawRect: फिर से, फिर से और फिर दृश्य प्रस्तुत करने के लिए कहा जाता है। जब तक आप नहीं जानते कि आप वास्तव में क्या कर रहे हैं और जब तक आपको इसकी आवश्यकता नहीं है, तो इसका उपयोग न करें। यह बहुत धीमा है, क्योंकि इसे बार-बार drawRect: पर कॉल करना होगा। दूसरे शब्दों में, जब आप UIViewContentModeRedraw सेट करते हैं तो यह वही व्यवहार होता है जब आप setNeedsDisplay पर कॉल करते हैं, हर बार सीमाएं बदल जाती हैं।

सरलीकृत स्पष्टीकरण, लेकिन इसे आपके लिए थोड़ा सा स्पष्ट करना चाहिए।