2016-03-26 12 views
5

मैं अपने मानक टेक्स्टफ़ील्ड के लिए "अंधेरा" शैली कीबोर्ड का उपयोग कर रहा हूं। यह एक लॉगिन टेक्स्टफील्ड के लिए है, या "मेरा पासवर्ड भूल जाओ" टेक्स्टफील्ड, जहां उपयोगकर्ता कुछ जानकारी दर्ज करता है, इसे सबमिट करता है, और यदि यह सफल होता है तो उन्हें किसी अन्य दृश्य में भेजा जाता है, आमतौर पर मानक नेविगेशन नियंत्रक द्वारा पॉपव्यू कंट्रोलरएनिएटेड:। एक अलर्ट व्यू के बीच में दिखाई दे सकता है।सफेद टेक्स्ट के साथ आईओएस ब्लैक कीबोर्ड दृश्य दृश्य के बाद प्रकट होता है जब कीबोर्ड

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

मैंने पॉपव्यू कंट्रोलर के विभिन्न तरीकों से मूल कीबोर्ड को खारिज करने का प्रयास किया है, लेकिन यह मदद नहीं करता है। यदि अलर्टव्यू के बीच में दिखाई देता है, तो मैंने AlViewView बटन पर क्लिक करने के लिए प्रतिनिधि दृश्य में popViewController को बांध दिया। कुंजीपटल आमतौर पर पुश से पहले छोड़ने के लिए पर्याप्त तेज़ी से गायब नहीं होता है। देरी इससे मदद नहीं करती है।

संपादित करें: अलर्टव्यू यहां एक निश्चित अपराधी प्रतीत होता है, पॉप और कीबोर्ड के साथ हस्तक्षेप करता है।

-(BOOL) textFieldShouldReturn:(UITextField *)textField{ 
    [textfield resignFirstResponder]; 
    [self.view endEditing:YES]; 
    return YES; 
} 

-(IBAction)submitRequest { 
    [textfield resignFirstResponder]; 
    [self.view endEditing:YES]; 

    // make API call, if call succeeds run this block { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"..." 
               message:@"..." 
               delegate:delegate 
             cancelButtonTitle:@"OK" 
             otherButtonTitles:nil, nil]; 
      dispatch_async(dispatch_get_main_queue(), ^{ 
      [alert show]; 
      });   
    // } 
} 

// delegate after alert OK is pressed 
- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { 
    [self.navigationController popViewControllerAnimated:YES]; 
} 

मैं इस काले/सफेद कीबोर्ड से कैसे बच सकता हूं?

enter image description here

+0

"मैं मूल कुंजीपटल को खारिज करने से पहले pushViewController विभिन्न तरीकों से होता है की कोशिश की है, लेकिन यह मदद करने के लिए प्रतीत नहीं होता है" ठीक है, लेकिन आपको सूचना जब कुंजीपटल मिलता है _has_ गायब हो गया, तो फिर आप व्यू कंट्रोलर संक्रमण क्यों शुरू नहीं करते? – matt

+0

क्या यह एक कस्टम कीबोर्ड है? यह मेरे लिए एक ऐप्पल कीबोर्ड जैसा प्रतीत नहीं होता है ... – Blip

+0

मैं पूरे ऐप में मानक "अंधेरा" मानक ग्रे कीबोर्ड का उपयोग कर रहा हूं। यह डिफ़ॉल्ट हल्के भूरे रंग की तुलना में एक गहरा भूरा है। लेकिन यह इस तरह का काला नहीं है। मैं कस्टम कीबोर्ड का उपयोग नहीं करता हूं। – Miro

उत्तर

3
Try using the below code. It works fine for iOS 8 and below version 

    if (IS_OS_8_OR_LATER) { 
      UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:title message:msg preferredStyle:UIAlertControllerStyleAlert]; 

      UIAlertAction *cancelAction = [UIAlertAction 
             actionWithTitle:B_title 
             style:UIAlertActionStyleCancel 
             handler:^(UIAlertAction *action) 
             { 
              [self.navigationController popViewControllerAnimated:YES]; 

             }]; 
     [alertVC addAction:cancelAction]; 
     [self presentViewController:alertVC animated:YES completion:nil]; 
     } 
     else{ 
      UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:msg delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; 
      [alert show]; 
     } 
} 
+0

क्या आप आईओएस 9 के लिए समाधान प्रदान कर सकते हैं? एक्सकोड 7.3.1 में संकलित होने के बाद भी मेरे पास इस समस्याएं हैं। –

+0

कृपया कोड के ऊपर आज़माएं, यह आईओएस 8 और बाद में और 8 संस्करण के नीचे काम करता है। – jbchitaliya

+0

हां! यह काम किया! +1 –

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