2012-09-29 21 views
10

मुझे SVProgressHUD (मूल रूप से एक पूर्ण स्क्रीन पारदर्शी UIWindow के साथ एक UIView और कुछ यूआईवीव सबव्यूज़ टेक्स्ट और कस्टम-रेड प्रोग्रेस बार दिखाते हुए) में यूआईटीएक्स्टफिल्ड में टेक्स्ट दर्ज करने में समस्याएं आ रही हैं।यूआईटीएक्स्टफाल्ड को कीबोर्ड इनपुट नहीं मिल रहा है

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

मैं आईओएस 6

किसी भी मदद का उपयोग कर रहा अत्यधिक सराहना की जाएगी।

संपादित करें: कोई भी UITextField ठीक काम करता है जब कोई SVProgressHUD प्रदर्शित नहीं होता है। इससे मुझे लगता है कि इसके पहले उत्तरदाता के साथ कुछ करना है, लेकिन मैंने पहले से ही resignFirstResponder को प्रत्येक विंडो और SVProgressHUD के सबव्यू पर कॉल करने का प्रयास किया है और यह अभी भी काम नहीं करता है।

उत्तर

34

मुझे अंततः समस्या मिली: एसवीप्र्रेसशूड makeKeyAndVisible को प्रारंभ होने पर कॉल करता है, क्योंकि यह पुनर्स्थापना के लिए कीबोर्ड नोटिफिकेशन प्राप्त करना चाहता है। मैं ऊपर देखा क्या "कुंजी विंडो" वास्तव में है और पता चला:

... कुंजी खिड़की उपयोगकर्ता इनपुट का जवाब ...

अब, के रूप में SVProgressHUD की UIWindow था keyWindow, मेरी दूसरी विंडो, जिसमें UITextField शामिल है, उपयोगकर्ता इनपुट नहीं मिला।

अंत में मैं ऐपडिलेगेट की खिड़की पर makeKeyWindow पर कॉल करता हूं और सब कुछ ठीक काम कर रहा है।

मुझे आशा है कि इससे किसी भी समस्या के साथ किसी को भी मदद मिलेगी।

+0

क्या हम मेककेविंडो का उपयोग कर सकते हैं और दोनों को देख सकते हैं और यह सुनिश्चित कर सकते हैं कि – Anju

+2

मुझे कोई जानकारी नहीं है कि इस जवाब में अब तक कुछ सौ अपवॉट क्यों नहीं हैं। बहुत बहुत धन्यवाद! –

+0

मुझे नहीं पता कि मैं अब इस तरह की डीबगिंग समस्याओं को परेशान क्यों करता हूं जब स्टैक ओवरफ्लो हमेशा से आता है। धन्यवाद! –

2

आप विधि लागू

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 

... किसी भी अवांछित पात्रों को फिल्टर करने की है ....? यदि ऐसा है, तो शायद यह फ़िल्टरिंग के साथ थोड़ा अति उत्साही हो रहा है?

+0

मैं टेक्स्ट फ़ील्ड के लिए कन्चेंज कैरैक्टर्स इनरेंज (यह वास्तव में एक यूआईटीएक्स्टफाल्ड है। क्षमा करें, मैंने अब अपना प्रश्न अपडेट किया है) का उपयोग नहीं किया है। इसके अलावा, उपरोक्त प्रदर्शित कोई SVProgressHUD नहीं होने पर, वही UITextField ठीक काम करता है। हालांकि, आपके उत्तर के लिए धन्यवाद! –

4

मेरा समाधान: पर कॉल करें SVProgressHUD दिखाए जाने से पहले कीबोर्ड को खारिज करने के लिए।

0

मेरे लिए यह काम किया गया है।

मैंने अपने टेक्स्टफील्ड प्रतिनिधि विधि में बदलाव किए तो यह काम किया। पाठ फ़ील्ड

  • यकीन है कि पाठ फ़ील्ड userInteraction बनाने के लिए

    if ([textField isEqual:selectBankName]) 
    { 
        return No; 
    } 
    else if ([textField isEqual:enterAmountTextfield]) 
    { 
        return YES; 
    } 
    
    return NO; 
    } 
    
    1. सेट प्रतिनिधि Enabled.And

      है
    2. अंत में अपने पाठ फ़ील्ड प्रतिनिधि विधि की जांच करें।