iOS6

2012-09-19 13 views
18

में UITextField या UITextView में पाठ टाइप नहीं कर सकते मेरी क्षुधा में से एक में, जब मैं संपादित (प्रकार कुछ पाठ) UITextField, UITextView या किसी अन्य 'पाठ करने योग्य' UIControl कर्सर करने की कोशिश सिर्फ लेकिन ब्लिंक कोई वर्ण बैकस्पेस को छोड़कर में टाइप किया गया है (संभवतः जब मेरे पास इसमें कुछ प्रारंभिक पाठ हो), रिटर्न और चरित्र प्रकार स्विचिंग। यह पूरे आवेदन में सभी नियंत्रणों पर जाता है।iOS6

सारांश:

  1. यह केवल iOS 6.0 से होता है
  2. सभी प्रतिनिधि तरीकों निकाल दिया जाता है (आईओएस 5.x, 4.x न सिम्युलेटर या वास्तविक डिवाइस पर नहीं होती है) (shouldBeginEditing: didBeginEditing:) को छोड़कर चाहिएChangeCharactersInRange:
  3. isFirstResponder ध्वज सही तरीके से सेट कर रहा है (चाहिएबीज एडिटिंग: लॉग नहीं, जबकि किया गया है बीजिंग संपादन: सही ढंग से लॉग करता है)। यह लॉग का उपयोग करके भी परीक्षण किया जाता है कि पहला रेस्पॉन्डर पहले ही संपादित किया गया है।
  4. यह के बाद खुद को मरम्मत करता है UIAlertView उपयोगकर्ता को प्रस्तुत किया जाता है और खारिज कर दिया जाता है। इससे कोई फर्क नहीं पड़ता कि यह अलर्ट एक ही स्क्रीन (UIViewController व्यू) या किसी अन्य पर दिखाया गया है।

मुझे नहीं पता कि यह कैसे दृष्टिकोण या डिबग करना है।

मुझे संकेतों को कहां देखना चाहिए? प्रतिक्रियाकर्ता श्रृंखला संबंधित मुद्दों आदि ट्रैकिंग के किसी भी विशेषज्ञ आदि?

मैं इस मुद्दे पर UIAlertView के प्रभाव को कैसे ट्रैक कर सकता हूं?

+0

इस प्रश्न पोस्ट करने से मुझे किसी भी तरह प्रेरित किया गया और मुझे समाधान मिला। यह बहुत छोटा था। क्या मैं इंतज़ार करूँगा और आपको कुछ अंक हासिल करने का मौका दूंगा या क्या मैं तुरंत उत्तर पोस्ट करूंगा? यहाँ – Lukasz

+0

एक अन्य समाधान है: http://stackoverflow.com/questions/12447875/keyboard-and-cursor-show-but-i-cant-type-inside-uitextfields-and-uitextviews/12559046#12559046 – Danil

+0

कृपया अपना समाधान पोस्ट करें, मैंने सब कुछ करने की कोशिश की है और यह अभी भी काम नहीं करेगा। Makekeyandvisible एकमात्र कारण नहीं है कि यह क्यों हो सकता है। – Ben

उत्तर

19

अपने कार्यान्वयन यह UIWindow वर्ग है कि आप आवेदन प्रतिनिधि के - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions विधि या अपने मुख्य इंटरफ़ेस xib फ़ाइल में इसी Visible at Launch झंडा अंदर कॉल करने के लिए भूल गया के दोनों makeKeyAndVisible विधि है पर निर्भर करता है।

चीयर्स ... :)

+1

हाँ, यह बिल्कुल था। मैंने window.rootViewController = भी जोड़ा है ... बस मामले में। ऐसा लगता है कि आईओएस 6 पिछले रिलीज की तुलना में उन सेटिंग्स पर निर्भर करता है। – Lukasz

+1

या इसके विपरीत, आईओएस के पिछले संस्करण आपके लिए यह कॉल कर रहे थे ... – Ariel

+0

हां, मैंने हाल ही में स्टार्टअप पर दिखाई देने वाले चेतावनी लॉग संदेश को ठीक करने के लिए window.rootViewController भी सेट किया है। मैंने अभी यह पता लगाया है कि जिस तरह से मैंने इसे पहले किया था (विंडो के सबव्यूव के रूप में मेरे रूट व्यू कंट्रोलर के दृश्य को जोड़ना) में यूआईटीएक्स्टफाल्ड दोष नहीं था। हालांकि, मैं rootViewController जोड़ने की इस पुरानी विधि पर वापस जाने की अनुशंसा नहीं करता हूं। Window.rootViewController का उपयोग करें और यहां वर्णित समस्या को ठीक करें। – Tafkadasoh

0

मेरी स्थिति में मैं एक गतिविधि संकेत है कि पृष्ठभूमि गतिविधि की अवधि के दौरान मुख्य विंडो के ऊपर पॉप अप होता था। इस मामले में गतिविधि सूचक दृश्य की अपनी खिड़की थी जो UIWindowLevelAlert पर सेट की गई थी। मैं अनजाने में इस खिड़की पर मेककी और दृश्यमान फोन कर रहा था। बाद में मैं इस्तीफा दे दूंगा KeyWindow। यह आईओएस 4 और 5 पर काम करता था लेकिन अब आईओएस 6 में काम नहीं करता था। मैंने पाया कि यह तकनीकी रूप से जरूरी नहीं था क्योंकि खिड़की.hidden = y/N ने भी काम किया था।

2

मेरे मामले में, वहाँ है मुख्य विंडो पर एक 'लांच पर दिखाई', यह अनियंत्रित था, जो केवल iOS5 पर काम करता है, iOS6 पर काम कर इसे बनाने के लिए यह जांच करने के लिए की जरूरत है।

0

मेरे मामले में मैं ViewDidAppear को viewDidLoad से मेरी UITextField के लिए becomeFirstResponder चले गए और इस मेरी समस्या हल।

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