2012-03-14 12 views
9

मैं इस पर एक UILabel के साथ एक UIView और इस दृश्य & लेबल के रूप में यह इन पंक्तियों के कोड को हो जाता है ही धुँधली बन प्रदर्शित कर रहा हूँ पर CATransform3D साथ धुँधली UIView: ऐप मैं उपयोग के दौरानकेवल रेटिना

CATransform3D transform = CATransform3DIdentity;  
transform.m34 = (1.0/-500); 
view.layer.transform = transform; 

सीए 3 डीडोटेशन और अन्य सामान और यह पहले कभी नहीं हुआ था। इसके अलावा, मैंने दृश्य का फ्रेम और केवल पूर्णांक का उपयोग करके लेबल सेट किया है! तो यह आधा पिक्सेल समस्या नहीं है या ऐसा कुछ नहीं है, मुझे पता है कि इससे सबसे अधिक धुंधली समस्याएं होती हैं, लेकिन मेरा नहीं!

सिम्युलेटर पर यह धुंधला नहीं है, आईपैड धुंधला नहीं है, आईफोन 3 जीएस धुंधला नहीं है। रेटिना डिस्प्ले के साथ केवल एक आईफोन 4 पर यह धुंधला हो जाता है। मैं 3 डी रोटेशन करने से पहले भी! पागल होने से पहले क्या किसी के पास कोई सुराग है?

उत्तर

23

ठीक है, मुझे एक समाधान मिला है। ऐसी परत गुरुत्वाकर्षण या आवर्धन और अन्य समाधान की टन मैं अचानक निम्नलिखित 2 तर्ज पर दुर्घटना से ठोकर खाई के रूप में परत गुण, का उपयोग कर कोड का एक सौ अलग लाइनों इस्तेमाल करने के बाद:

self.layer.shouldRasterize = TRUE; 
self.layer.rasterizationScale = [[UIScreen mainScreen] scale]; 

यह समाधान है! भविष्य में हर किसी के लिए, क्या आपका विचार रेटिना डिस्प्ले पर धुंधला है? इसे इस्तेमाल करो!

+0

यह मैंने अजीब व्यवहार (केवल रेटिना उपकरणों में अलग-अलग पदों) को भी लागू किया जब मैंने आवेदन किया मेरे सीए 3 डी ट्रान्सफॉर्म! धन्यवाद, आपने कुछ घंटों बचाए! – bartolsthoorn

+0

शानदार! आपका बहुत बहुत धन्यवाद! – JRod

+1

मेरे लिए काम नहीं कर रहा है। रेटिना – zumzum

3

क्या आपने [UIScreen mainScreen]. scale से मिलान करने के लिए परत के लिए contentsScale सेट किया है? कोशिश करो।

+0

दिलचस्प पहले यह नहीं सुना है, अब इसे आजमाएं! –

+0

दुर्भाग्यवश, काम नहीं किया ... –

+0

आपको उत्तर देने के लिए समय देने के लिए बक्षीस देगा :) –

0

यह संभव है कि आपके विचार 'पिक्सल के बीच' हैं (उदाहरण के लिए केंद्र [12.5, 10])। अपने स्थान को गोल करने का प्रयास करें और देखें कि क्या इससे मदद मिलती है।

+0

हाय सैंडोज़, जैसा कि मैंने अपनी पोस्ट में स्पष्ट रूप से कहा है, मैंने पूर्णांक का उपयोग करके फ्रेम सेट किए हैं क्योंकि मुझे पता है कि आमतौर पर यह 'बीच-पिक्सेल' समस्या है :) –

0

यदि आपकी अंतिम लैंडिंग स्थिति फ्लैट/असंगत होने का इरादा है, तो बस ट्रांसफर को CATransform3D पहचान में सेट करने से समस्या ठीक हो जाएगी। चीजें एनिमेटेड कैसे होती हैं, इस पर निर्भर करता है कि 3 डी ट्रांसफॉर्म से 0.0 में से एक के लिए अंतिम स्थिति सेट करना अभी भी गोल करने वाली त्रुटियों को पेश कर सकता है और एक अस्पष्ट उपस्थिति दे सकता है।

+0

पर अभी भी धुंधला यह अंतिम स्थिति के लिए सच है, हालांकि, मैं एनीमेशन के दौरान भी अस्पष्ट नहीं होना चाहता :) –

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