2011-11-02 13 views
8

मेरे ऐप में मेरे पास एक यूआईटीएक्स्टफिल्ड है जो पृष्ठभूमि छवि के शीर्ष पर है UITextField पृष्ठभूमि व्यवहार बदलता है। आईओएस 4 के तहत मुझे इसे सही दिखने के लिए पृष्ठभूमि रंग संपत्ति को 'clearColor' पर सेट करना पड़ा था। आईओएस 4 पाठ फ़ील्ड इस तरह दिखता है ...आईआईटी 4 से आईओएस 5

enter image description here

के तहत इस तरह मैं इसे देखना चाहते है। अब, Xcode 4.3 (आईओएस 5) के उन्नयन के बाद से जब मैं एक ही परियोजना को फिर से चलाने, बॉक्स इस तरह दिखता है ...

enter image description here

गरर। तो आईओएस 5 के तहत मैंने पृष्ठभूमि रंग संपत्ति को 'व्हाइटकॉलर' में बदल दिया और यह ठीक काम करता है। लेकिन अब, के तहत आईओएस बॉक्स 4.x इस तरह दिखता है ...

enter image description here

नोट बदसूरत सफेद कोनों! तो कृपया, क्या कोई मुझे बता सकता है कि आईओएस 4 और आईओएस 5 के तहत सामान्य दिखने के लिए मुझे क्या करना चाहिए (यानी पहली छवि की तरह दिखने के लिए!)।

बहुत धन्यवाद, साइमन

+2

क्या आपने अद्यतन एसडीके के साथ पुनर्निर्माण किया था? – BoltClock

+1

बस जानने के लिए .. क्या आप आयात क्वार्ट्जकोर द्वारा प्रयास करते हैं और textField.layer.backgroundColor = [UIColor clearcolor] को सेट करके .CGColor; ? – Mat

+1

कोई विचार नहीं कि यहां क्या हो रहा है - लेकिन अब यह काम कर रहा है। मैंने पृष्ठभूमि को सेट करने के लिए लाइन को हटा दिया है और यह सब 4 और 5 दोनों में ठीक लगता है। – Simon

उत्तर

3

मुझे कुछ दिन पहले भी यही समस्या मिली। इसे हल करने के लिए, मैंने बस सीमा स्टाइल सेट की है और पृष्ठभूमि रंग रेखा पर टिप्पणी की है। आईओएस 4 और आईओएस 5 दोनों ही ठीक काम करते हैं।

// textField.backgroundColor = [UIColor clearColor]; // just leave it, dont't set 
textField.borderStyle = UITextBorderStyleRoundedRect; 
+0

मैंने यह सही चिह्नित किया है क्योंकि मुझे काफी यकीन है कि यह मेरे लिए भी तय है, लेकिन सभी ईमानदारी में 100% नहीं हो सकता क्योंकि यह एक अस्पष्ट मुद्दा है। – Simon

+0

यह मेरे लिए भी सही जवाब था। मैंने यह एकल परिवर्तन किया और मेरी समस्या हल हो गई, आईओएस 4.3 में 5.1 के माध्यम से सभी परीक्षणों में। (मेरी परियोजना में मुद्दा बिल्कुल मूल पोस्ट में वर्णित था।) – Douglas

1

कभी कभी आप अपनी परियोजना के पुनर्निर्माण के लिए हो सकता है। साथ ही, यह देखने के लिए कि यह वास्तव में एक्सकोड में एक नया बदलाव है या नहीं, या यह केवल उस विशेष परियोजना को चीजों को कम करने के लिए है, यह एक पूरी नई परियोजना में कोशिश करें। यदि आप इसे अपने विशेष प्रोजेक्ट में कुछ गलत होने के लिए अलग करते हैं, तो यह देखने के लिए कि क्या यह क्लिक करता है, इसे "इसे खत्म करें" का प्रयास करें। लेकिन मैं देख आप इसे हल: =)

2

यह मैं क्या, आप डिवाइस पर चल iOS के संस्करण की जांच और उसके अनुसार हैंडलिंग, इस

float version = [[[UIDevice currentDevice]systemVersion]floatValue]; 
if(version < 5.0) 
{ 
//user clear color 
}else 
{ 
//use white color 
} 

आशा की तरह कर सकते हैं इस समस्या को हल करने के लिए किया था यह आपकी मदद करता है।