Tuesday 5 December 2017

एजेंसवर्ल्डटेंडेड लेआउट uiviewcontroller प्रतिनिधि


मेरे नेविगेशन स्टैक बच्चे में, मैं किनारों के लिए विस्तारित लेटआउट सेट करता हूं। जब मैं बैक बटन पर क्लिक करता हूं, तो मेरे माता-पिता में यूआईटीबल्यूव्यू को स्थानांतरित कर दिया जाता है, जैसे कि नेविगेशन पट्टी मौजूद नहीं है। (नेविगेशन बार तालिका को शामिल करता है) बच्चे की किनारे की सेटिंग उसके माता-पिता को क्यों प्रभावित करती है मैं केवल वर्तमान दृश्य नियंत्रक को प्रभावित करना चाहता हूं। मेरे माता-पिता में, इस तरह मैंने यूआईटीबल वीव बनाया है: क्या यह हो सकता है कि मैं तालिका दृश्य फ़्रेम को गलत तरीके से सेट कर रहा हूं, मैं तालिका को नेविगेशन बार के नीचे शुरू करना चाहता हूं, लेकिन टैब बार से पहले समाप्त होता है 25 अप्रैल 16 18:38 को मैंने अपनी समस्या को इस तरह से पुन: उत्पन्न करने की कोशिश की है: एक UIViewController में एक एकल कक्ष के साथ एक UITableView सेट करें जो कि एक नए UIViewController को दबाता है उस दृश्य नियंत्रक के दृश्यडायडलोड में मैं खुद को सेट कर रहा हूँ। पदों के लिए विस्तारित लेआउट। जब मैं UITableViewController पर वापस जाने के लिए quotbackquot दबाता हूं मुझे तालिका दृश्य की स्थिति में कोई भी परिवर्तन दिखाई नहीं देता है। क्या आप किनारों को संशोधित कर रहे हैं यूआईएविगेशन नियंत्रक पर सीधे सीधे ndash JAL अप्रैल 27 16 20: 15 IOS7 में शुरू, दृश्य नियंत्रक डिफ़ॉल्ट रूप से पूर्ण स्क्रीन लेआउट का उपयोग करते हैं। साथ ही, आपके पास इस पर अधिक नियंत्रण है कि वह अपने विचारों को कैसे दिखाता है, और उन गुणों के साथ किया जाता है: मूल रूप से, इस संपत्ति के साथ आप सेट करते हैं कि आपके दृश्य के किन किनारे पूरे स्क्रीन को कवर करने के लिए बढ़ाया जा सकता है। कल्पना कीजिए कि आप एक UIViewController को एक UINavigationController में दबाएंगे। जब उस दृश्य के नियंत्रक को देखा जाता है, यह जहां नेवीगेशन बार समाप्त होता है, वहां शुरू होगा, लेकिन यह प्रॉपर्टी सेट की जाएगी कि पूरी स्क्रीन को भरने के लिए दृश्य (ऊपर, बायां, नीचे, दाएं) के किनारे को बढ़ाया जा सकता है। इसे एक उदाहरण के साथ देखते हैं: यहां आप किनारों के मूल्य निर्धारित नहीं कर रहे हैंएक्सटेक्टेडलेआउट। इसलिए डिफ़ॉल्ट मान (UIRectEdgeAll) लिया जाता है, इसलिए दृश्य पूरी स्क्रीन को भरने के लिए उसके लेआउट को बढ़ाता है। यह नतीजा है: जैसा कि आप देख सकते हैं, नेविगेशन बार और स्टेटस बार के पीछे लाल पृष्ठभूमि फैली हुई है। अब, आप उस मान को UIRectEdgeNone पर सेट करने जा रहे हैं इसलिए आप व्यू नियंत्रक को स्क्रीन को कवर करने के लिए दृश्य का विस्तार नहीं करने के लिए कह रहे हैं: जब आपका दृश्य एक UIScrollView या समान है, जैसे UITableView आप चाहते हैं कि आपकी मेज ने जहां नेविगेशन बार समाप्त हो, वहां शुरू हो, क्योंकि आप पूरी सामग्री को नहीं देखते हैं, लेकिन एक ही समय में आप चाहते हैं कि आपकी तालिका स्क्रॉल करते समय पूरी स्क्रीन को कवर करे। उस स्थिति में, किनारों को सेट करने के लिएएक्सटेंटेडआपको कोई भी काम नहीं कर रहा है क्योंकि आपकी तालिका स्क्रॉल करना शुरू करेगी जहां नेविगेशन बार समाप्त होता है और यह उसके पीछे नहीं जाता है यहां यह संपत्ति काम में आती है, यदि आप देखते हैं कि नियंत्रक स्वतः इनसेट को समायोजित करते हैं (ये संपत्ति को हाँ में भी सेट करते हैं, यह भी डिफ़ॉल्ट मान होता है) यह तालिका के शीर्ष पर इनसेट को जोड़ देगा, इसलिए तालिका शुरू होगी जहां नेविगेशन बार समाप्त होता है, लेकिन स्क्रॉल पूरी स्क्रीन को कवर करेगा। यह तब होता है जब नहीं: और हाँ (डिफ़ॉल्ट रूप से): दोनों ही मामलों में, नेविगेशन पट्टी के पीछे तालिका स्क्रॉल, लेकिन दूसरे मामले (हाँ) में, यह नेविगेशन बार के नीचे से शुरू होगा यह मान पिछले वाले लोगों के लिए एक अतिरिक्त है यदि स्टेटस बार अपारदर्शी है, तो स्टेटस बार भी शामिल करने के लिए दृश्यों को विस्तारित नहीं किया जाएगा, जब तक कि यह पैरामीटर हां नहीं है। इसलिए, यदि आप नेविगेशन बार को कवर करने के लिए अपने दृष्टिकोण का विस्तार करते हैं (किनारों के लिए विस्तारित लाइन से यूआईएआरएक्टएडिट सभी) और पैरामीटर नहीं है (डिफ़ॉल्ट) यह स्थिति पट्टी को कवर नहीं करेगी यदि इसकी अपारदर्शी। अगर कुछ स्पष्ट नहीं है, तो एक टिप्पणी लिखें और I आईओएस कैसे जानता है कि आईओएस का उपयोग करने के लिए यूआईएसक्रॉलएव्यू आपके दृश्य नियंत्रकों को देखने के पहले सबव्यू को पकड़ लेता है, इसलिए सूचकांक 0 पर एक है, और यदि यूआईएसक्रॉलएव्यू के एक उपवर्ग तो समझाया गया गुणों को उस पर लागू होता है बेशक, इसका मतलब है कि UITableViewController डिफ़ॉल्ट रूप से काम करता है (चूंकि UITableView पहला दृश्य है)।

No comments:

Post a Comment