Monday 5 February 2018

Edgesforextendedlayout - scrollview - ios


समस्या यह है कि मेरे दृश्य, जिसमें एक स्क्रॉलव्यू के भीतर एक UIView और एक UITableView शामिल है UINavigationBar के तहत छिपी हो जाता है अगर पारदर्शी सेट मैंने इस तरह से कई धागे पर विचार किया है। लेकिन वे सभी सेट करने का सुझाव देते हैं: स्विफ्ट 2 में, यह कोड था: आज मैं Xcode 8.1 और स्विफ्ट 3.0.1 में अपडेट किया गया है, लेकिन मैं इस मामले के रिलीज नोट्स में कुछ भी नहीं ढूँढ सकता। कंपाइलर मुझे बताता है कि, लेकिन संपादित करने के बाद, कि। कोई भी मौजूद नहीं है इसे बदलने के लिए. top का कोई प्रभाव नहीं था टेबलव्यू प्रोग्रामैटैटिक रूप से सेटअप किया जाता है और इनसेट को डालने में मदद नहीं करता क्योंकि UITableView के शीर्ष पर यूआईवीयूवी के साथ मेरे पास स्क्रॉलव्यू है जो यूआईनेविगेशनबार के नीचे छिपा हुआ है। मुझे क्या याद आ रही है मदद की बहुत सराहना की है 2 9 अक्टूबर 16 को 3: 45 से पूछा: आईओएस 7 में शुरू, दृश्य नियंत्रक डिफ़ॉल्ट रूप से पूर्ण स्क्रीन लेआउट का उपयोग करते हैं साथ ही, आपके पास इस पर अधिक नियंत्रण है कि वह अपने विचारों को कैसे दिखाता है, और उन गुणों के साथ किया जाता है: मूल रूप से, इस संपत्ति के साथ आप सेट करते हैं कि आपके दृश्य के किन किनारे पूरे स्क्रीन को कवर करने के लिए बढ़ाया जा सकता है। कल्पना कीजिए कि आप एक UIViewController को एक UINavigationController में दबाएंगे। जब उस दृश्य के नियंत्रक को देखा जाता है, यह जहां नेवीगेशन बार समाप्त होता है, वहां शुरू होगा, लेकिन यह प्रॉपर्टी सेट की जाएगी कि पूरी स्क्रीन को भरने के लिए दृश्य (ऊपर, बायां, नीचे, दाएं) के किनारे को बढ़ाया जा सकता है। इसे एक उदाहरण के साथ देखते हैं: यहां आप किनारों के मूल्य निर्धारित नहीं कर रहे हैंएक्सटेक्टेडलेआउट। इसलिए डिफ़ॉल्ट मान (UIRectEdgeAll) लिया जाता है, इसलिए दृश्य पूरी स्क्रीन को भरने के लिए उसके लेआउट को बढ़ाता है। यह नतीजा है: जैसा कि आप देख सकते हैं, नेविगेशन बार और स्टेटस बार के पीछे लाल पृष्ठभूमि फैली हुई है। अब, आप उस मान को UIRectEdgeNone पर सेट करने जा रहे हैं इसलिए आप व्यू नियंत्रक को स्क्रीन को कवर करने के लिए दृश्य का विस्तार नहीं करने के लिए कह रहे हैं: जब आपका दृश्य एक UIScrollView या समान है, जैसे UITableView आप चाहते हैं कि आपकी मेज ने जहां नेविगेशन बार समाप्त हो, वहां शुरू हो, क्योंकि आप संपूर्ण सामग्री को नहीं देखते हैं, लेकिन एक ही समय में आप चाहते हैं कि आपकी तालिका स्क्रॉल करते समय पूरी स्क्रीन को कवर करे। उस स्थिति में, किनारों को सेट करने के लिएएक्सटेंटेडआपको कोई भी काम नहीं कर रहा है क्योंकि आपकी तालिका स्क्रॉल करना शुरू कर देती है जहां नेविगेशन बार समाप्त होता है और यह उसके पीछे नहीं जाता है यहां यह संपत्ति काम में आती है, यदि आप देखते हैं कि नियंत्रक स्वतः इनसेट को समायोजित करते हैं (ये संपत्ति को हाँ में भी सेट करते हैं, यह भी डिफ़ॉल्ट मान होता है) यह तालिका के शीर्ष पर इनसेट को जोड़ देगा, इसलिए तालिका शुरू होगी जहां नेविगेशन बार समाप्त होता है, लेकिन स्क्रॉल पूरी स्क्रीन को कवर करेगा। यह तब होता है जब नहीं: और हाँ (डिफ़ॉल्ट रूप से): दोनों ही मामलों में, नेविगेशन पट्टी के पीछे तालिका स्क्रॉल, लेकिन दूसरे मामले (हाँ) में, यह नेविगेशन बार के नीचे से शुरू होगा यह मान पिछले वाले लोगों के लिए एक अतिरिक्त है यदि स्टेटस बार अपारदर्शी है, तो स्टेटस बार भी शामिल करने के लिए दृश्यों को विस्तारित नहीं किया जाएगा, जब तक कि यह पैरामीटर हां नहीं है। इसलिए, यदि आप नेविगेशन बार को कवर करने के लिए अपने दृष्टिकोण का विस्तार करते हैं (किनारों के लिए विस्तारित लेआउट से यूआईएआरएक्टएडिट सभी) और पैरामीटर नहीं है (डिफ़ॉल्ट) यह स्थिति पट्टी को कवर नहीं करेगी यदि इसकी अपारदर्शी। अगर कुछ स्पष्ट नहीं है, तो एक टिप्पणी लिखें और I आईओएस कैसे जानता है कि आईओएस का उपयोग करने के लिए यूआईएसक्रॉलएव्यू आपके दृश्य नियंत्रकों को देखने के पहले सबव्यू को पकड़ लेता है, इसलिए सूचकांक 0 पर एक है, और यदि यूआईएसक्रॉलएव्यू के एक उपवर्ग तो समझाया गया गुणों को उस पर लागू होता है बेशक, इसका मतलब है कि UITableViewController डिफ़ॉल्ट रूप से काम करता है (चूंकि UITableView पहला दृश्य है)।

No comments:

Post a Comment