दोनों पैमाने और देशी स्केल आपको बताते हैं कि एक बिंदु कितने पिक्सल से मेल खाता है। लेकिन ध्यान रखें कि अंक intermediate buffer of pixels पर प्रस्तुत किए जाते हैं, जिसे स्क्रीन रिज़ॉल्यूशन से मेल खाने के लिए आकार दिया जाता है। तो, जब हम पूछते हैं, "1 pt कितने पिक्सल से मेल खाता है?" इसका मतलब मध्यवर्ती पिक्सेल (स्केल) या अंतिम पिक्सल (देशी स्केल) हो सकता है।
आईफोन प्लस पर, स्केल 3 है, लेकिन देशी स्केल 2.6 है। ऐसा इसलिए है क्योंकि सामग्री 3x (1 बिंदु = 3 पिक्सल) पर प्रदान की जाती है लेकिन फिर परिणामी बिटमैप को घटाया जाता है, जिसके परिणामस्वरूप 1 बिंदु = 2.6 पिक्सल होता है।
तो इंटरमीडिएट बिटमैप के साथ स्केल स्केल करता है, और देशी स्केल अंतिम बिटमैप से संबंधित है।
यह डिस्प्ले ज़ूम के बिना है। यदि आप डिस्प्ले ज़ूम सक्षम करते हैं, तो स्केल 3 वही रहता है, क्योंकि इंटरमीडिएट बफर अभी भी 1 पॉइंट = 3 पिक्सेल पर प्रस्तुत किया जाता है। लेकिन देशी पैमाने 2.8 हो जाता है।
तो, यदि आप भौतिक स्क्रीन की जांच करना चाहते हैं, तो पैमाने का उपयोग करें।उदाहरण के लिए, आप एक ऐप्लिकेशन है जो केवल iPhone प्लस पर चलता है, तो आप कर सकता है:
if scale != 3 {
print("Not supported")
}
नहीं
:
if nativeScale != 2.6 {
print("Not supported")
}
दूसरा कोड टुकड़ा क्या उम्मीद थी क्या करना है जब उपयोगकर्ता सक्षम बनाता है विफल रहता है ज़ूम प्रदर्शित करें।
स्रोत
2017-01-15 13:11:15
ज्यादा नहीं, मैं कहूंगा। यह भ्रमित है। – trojanfoe
इसके अलावा उन दोनों और 'UIView' की' सामग्री ScaleFactor' के बीच क्या अंतर है? – adib