जब अलर्ट पॉप अप करता है तो कुंजीपटल खारिज कर दिया जाता है। मैंने हर जगह देखा है लेकिन कीबोर्ड को दिखने के लिए समाधान नहीं मिला। जब अलर्ट प्रस्तुत किया जाता है तो टेक्स्टफील्ड स्वचालित रूप से पहले उत्तरदाता को इस्तीफा दे रहा है क्योंकि चेतावनी सामान्य रूप से प्रस्तुत की जाती है। कुंजीपटल को इस चेतावनी के पीछे रखना कैसा है, जिसका मतलब है कि टेक्स्टफील्ड अभी भी संपादन कर रहा है भले ही कोई बातचीत संभव न हो?स्विफ्ट में UIAlertcontroller प्रस्तुत होने पर कीबोर्ड को दबाएं?
13
A
उत्तर
21
यह समाधान मेरे लिए काम करता है:
let rootViewController: UIViewController =
UIApplication.sharedApplication().windows.lastObject.rootViewController!!
rootViewController.presentViewController(alert, animated: true, completion: nil)
@galambalazs द्वारा संपादित: कारण यह काम करता है क्योंकि:
आप वर्तमान उच्चतम खिड़की स्तर के साथ खिड़की हड़पने कर सकते हैं और उस विंडो के अंदर नियंत्रक देखें (इसे शीर्ष देखें नियंत्रक शीर्ष विंडो) में।
UIApplication.sharedApplication().windows
सरणी में खिड़कियों वापस खिड़की स्तर से सामने से आदेश दिया जाता है;
इस प्रकार, सरणी में अंतिम विंडो अन्य सभी ऐप विंडो के शीर्ष पर है।
इसके अलावा आप उस विंडो के टिंटकॉलर को सेट करना चाहेंगे ताकि यह आपके ऐप्स ग्लोबल टिंटकॉलर से मेल खा सके।
UIWindow *topWindow = [UIApplication sharedApplication].windows.lastObject;
// we inherit the main window's tintColor because topWindow may not have the same
topWindow.tintColor = [UIApplication sharedApplication].delegate.window.tintColor;
0
स्विफ्ट 3 और iOS11
लिए
if let alertWindow = UIApplication.shared.windows.last, alertWindow.windowLevel == 10000001.0 // If keyboard is open
{ // Make sure keyboard is open
alertWindow.rootViewController?.present(alertController, animated: true, completion: nil)
}
else
{
viewController?.present(alertController, animated: true, completion: nil)
}
संबंधित मुद्दे
- 1. jQuery - कीबोर्ड दबाएं - कीबोर्ड
- 2. कीबोर्ड को स्वचालित रूप से UIAlertController
- 3. UIAlertController EXC_BAD_ACCESS त्रुटि - स्विफ्ट
- 4. UIAlertController प्रदर्शित नहीं होगा - स्विफ्ट
- 5. UIAlertController को
- 6. टूलबार बटन से UIAlertController प्रस्तुत करना
- 7. ब्लूटूथ कीबोर्ड कनेक्ट होने पर स्क्रीन कीबोर्ड पर बल
- 8. पेज पूर्ण नहीं होने पर नीचे फूटर को दबाएं
- 9. UIKeyboardWillShowNotification स्विफ्ट कीबोर्ड
- 10. स्विफ्ट UIAlertController के शीर्षक को कैसे बदलें रंग
- 11. कीबोर्ड के रूप में ऐप्पल स्विफ्ट डेटपिकर
- 12. UIAlertController या UIPopoverController स्विफ्ट में UIPickerView दिखाना चाहते हैं?
- 13. UIAlertController
- 14. स्विफ्ट डिसमिस UITextView कीबोर्ड
- 15. हार्डवेयर कीबोर्ड कनेक्ट होने पर भी सॉफ्ट कीबोर्ड दिखाएं
- 16. UIAlertController
- 17. स्विफ्ट UIAlertController -> एक्शनशीट आईपैड आईओएस 8 क्रैश
- 18. स्टोरीबोर्ड के बिना एक नया दृश्य कैसे दबाएं स्विफ्ट
- 19. jQuery: 'dblclick` आसन्न होने पर' क्लिक करें 'दबाएं?
- 20. जांचें कि क्या UIAlertController को XCTest केस
- 21. स्विफ्ट प्रयास UIAlertController को प्रस्तुत करने का प्रयास जिसका दृश्य विंडो पदानुक्रम में नहीं है (TWTRShareEmailViewController के बाद प्रस्तुत किया गया)
- 22. सॉफ्ट कीबोर्ड खुला होने पर FAB को कैसे छिपाना है।
- 23. स्क्रॉल UITable जब कीबोर्ड स्विफ्ट
- 24. सॉफ्ट कीबोर्ड को खारिज होने से रोकें
- 25. कैसे UIAlertController
- 26. कुंजी दबाएं कुंजी दबाएं
- 27. UIAlertController सभी
- 28. कैसे UIAlertController
- 29. एचजी व्यू में बंद शाखाओं को दबाएं
- 30. UIAlertController में कार्रवाइयों को जोड़ने के लिए और कार्रवाइयों का परिणाम प्राप्त करें (स्विफ्ट)
यह सही लग रहा है इस तरह खिड़की स्थिति पट्टी में है चेतावनी नियंत्रक पेश करने के लिए उपयोग कर रहा है? – ninjudd
दरअसल, मैं गलत था। 'UIAppplication.sharedAplication() में दूसरी विंडो। Windows' एक UITextEffectsWindow है। – ninjudd
अधिक शोध के बाद, मैंने पाया कि UITextEffectsWindow वह है जहां कीबोर्ड दृश्य (या UIViewController inputAccessoryView) स्थित है। तो यह दूसरी विंडो केवल तभी मौजूद होगी जब कीबोर्ड प्रदर्शित किया गया हो। http://www.fantageek.com/1317/uiwindow-in-ios/ – ninjudd