2013-09-24 6 views
19

मैं आईओएस 7 के लिए एक ऐप को फिर से कंपाइल करने की कोशिश कर रहा हूं, क्योंकि पुराना कोई भी काम अब तक काम नहीं करता है। कई समस्याओं में से एक यह है कि मैं UIWebViews के अंदर कुछ इनपुट का उपयोग कर रहा हूं। टेक्स्ट इनपुट, पिकर्स इत्यादिआईओएस 7 इनपुट तत्व फिक्स्ड तैनात तत्वों को स्थानांतरित कर रहे हैं

अब, जब आईओएस 7 चमकता हुआ सफेद कीबोर्ड दिखाई देता है, तो वेबपृष्ठ (जैसे पुष्टि बटन) में सभी नीचे निश्चित तत्व ऊपर की ओर स्क्रॉल किए जाते हैं, जैसे कि वर्चुअल कीबोर्ड का 'टॉप' मेरे UIWebView का नया तल है। यह iOS6.x

से वर्चुअल कीबोर्ड व्यवहार कार्य करने के लिए वेब जादू पर जेएस/सीएसएस इंजेक्शन किए बिना किसी भी जादू की चाल है, क्या यह कोई जादू चाल है?

उत्तर

44

यह मेरे कॉर्डोवा ऐप के लिए समस्या को ठीक करता है। मुझे यकीन नहीं है कि यह आपके लिए लागू होता है लेकिन बस मामले में।

कुछ इस तरह के लिए अपने html मेटा टैग की जाँच करें:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"> 

इस के साथ यह बदलें:

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" /> 
+0

खुशी है कि मदद करने के लिए: तो यह ठीक किसी भी input या textarea पर हम blur पर एक स्क्रॉल अनुकरण करने के लिए प्रयोग कर रहे है! उत्तर को स्वीकार करने के लिए स्वतंत्र महसूस करें ताकि अन्य लोग देख सकें :) – Opossum

+3

क्या आपने इसे लैंडस्केप ऐप से आजमाया है? "डिवाइस-ऊंचाई" जब परिदृश्य में अभी भी 1024 है तो स्क्रीन के नीचे दृश्य से बाहर है। –

+0

मेरा ऐप चालू होने पर परिदृश्य में घूमता है और मैंने इस समस्या को नहीं देखा है। अगर मैं इसे देखता हूं तो मैं आपको बता दूंगा। – Opossum

6

मैं बिल्कुल वैसा ही समस्या & भर में भाग गया प्रयोग के दो दिनों के बाद छोड़ दिया। ऐसा लगता है कि: ए) सभी निचले-निर्धारित तत्व ऊपर की तरफ जाते हैं ताकि उनका निचला ऑफसेट कुंजीपटल सी के शीर्ष किनारे से संबंधित हो) सभी शीर्ष-निर्धारित तत्व अपनी मूल स्थिति में रहते हैं (ऊपर की तरफ आगे बढ़ें) - ध्यान दें कि शीर्ष-पूर्ण तत्व ठीक काम करते हैं।

एकमात्र समाधान मैंने पाया, एक कस्टम आईपैड स्टाइलशीट कि पूर्ण तत्वों के साथ सभी तय तत्वों को बदल देता है के लिए गया था ऑटो के लिए सीएसएस नीचे संपत्ति सेट करता है और का उपयोग करता है शीर्ष बजाय

-1

Opposum, अपने समाधान मेरे लिए लेकिन केवल तभी जब काम किया पैमाने 1.0 पर सेट किया गया था। अगर मैं इसे 0.9 पर सेट करता हूं तो ऐसा लगता है कि यह आपके सुझाए गए फ़िक्स से पहले था। मैंने शुरुआती-स्केल, अधिकतम-स्तरीय, और न्यूनतम-स्तर 0.9 तक सेट किया है और कीबोर्ड दिखाई देने पर निश्चित ऑब्जेक्ट्स का बाउंसिंग प्रभाव अभी भी हो रहा है।

+1

मेटा की सामग्री के साथ चारों ओर मूर्खतापूर्ण, ऐसा लगता है कि न्यूनतम-स्तर समस्या है। स्थिति को अनदेखा करते समय निश्चित समस्या मौजूद है। जब 1.0 से कम मान पर सेट किया गया है तो स्थिति निश्चित समस्या मौजूद है। जब 1.0 से अधिक या उसके बराबर मान पर सेट किया गया है तो स्थिति निश्चित समस्या हल हो जाती है। –

+0

यह कोई जवाब नहीं है, लेकिन केवल एक अवलोकन है; इस प्रकार इसके बजाय एक नोट के रूप में संबंधित है। – Lev

8

हमारे मामले में यह उपयोगकर्ता स्क्रॉल के रूप में जल्द ही ठीक हो जाएगा।

$(document).on('blur', 'input, textarea', function() { 
    setTimeout(function() { 
     window.scrollTo(document.body.scrollLeft, document.body.scrollTop); 
    }, 0); 
}); 
+0

इस तरह की स्क्रॉल को मजबूर करना मेरे लिए काम करता है। नीचे * व्यूपोर्ट फिक्स * काम कर सकता है, लेकिन कॉर्डोवा ऐप्स के साथ समस्याएं भी पैदा कर सकता है, जहां चौड़ाई = डिवाइस-चौड़ाई, ऊंचाई = डिवाइस-ऊंचाई, स्क्रॉलिंग समस्याओं का कारण बन सकती है। https://issues.apache.org/jira/browse/CB-4323 – zungaphobia

+0

यह समाधान एकमात्र ऐसा लगता है जो कुछ भी नहीं तोड़ता है। आप उपयोगकर्ता एजेंट को केवल मोबाइल उपकरणों तक सीमित करने के लिए भी जांच सकते हैं। var is_mobile = navigator.userAgent.match (/ (आईपैड) | (आईफोन) | (आईपॉड) | (एंड्रॉइड) | (वेबोस)/i); –

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