Ive पिछले दो घंटों के लिए इस पर काम कर रहा है और यह पता नहीं कर सकते बाहर। मेरे पास सामग्री के साथ एक स्क्रॉलदृश्य है जिसमें इसे एक सबव्यू के रूप में जोड़ा गया है, लेकिन मेरी स्क्रॉल व्यू टैब टैब नियंत्रक के पास स्क्रॉल नहीं करती, भले ही सामग्री इस बिंदु से परे हो। मैंने सोचा यह काम करेगा, लेकिन निश्चित रूप से नहीं है Ive एक उत्तर के लिए खोज रहा है और एक नहीं मिल सकता है, मदद की सराहना की है 14 फरवरी 15 15:46 पूछे जाने वाले प्रश्न। मूल प्रश्न को शामिल किया गया। अपने नए प्रश्न का समाधान करने के लिए: एपल्स टेक्निकल नोट टीएन 2154: UIScrollView और Autolayout के माध्यम से पढ़ने के लिए कितनी सामग्री के आधार पर मैं पुस्तक दृश्य को स्वचालित रूप से समायोजित करने के लिए कैसे प्राप्त कर सकता हूं। विशेष रूप से शुद्ध ऑटो लेआउट दृष्टिकोण अनुभाग। अनिवार्य रूप से, सामग्री दृश्यों की बाधाएं पूरी तरह से एक आकार निर्दिष्ट करनी होंगी, जो कि स्क्रॉल व्यू अपनी सामग्री आकार के रूप में उपयोग करती हैं। IOS7 में शुरू होने से, दृश्य नियंत्रक डिफ़ॉल्ट रूप से पूर्ण-स्क्रीन लेआउट का उपयोग करते हैं साथ ही, आपके पास इस पर अधिक नियंत्रण है कि वह अपने विचारों को कैसे दिखाता है, और उन गुणों के साथ किया जाता है: मूल रूप से, इस संपत्ति के साथ आप सेट करते हैं कि आपके दृश्य के किन किनारे पूरे स्क्रीन को कवर करने के लिए बढ़ाया जा सकता है। कल्पना कीजिए कि आप एक UIViewController को एक UINavigationController में दबाएंगे। जब उस दृश्य के नियंत्रक को देखा जाता है, यह जहां नेवीगेशन बार समाप्त होता है, वहां शुरू होगा, लेकिन यह प्रॉपर्टी सेट की जाएगी कि पूरी स्क्रीन को भरने के लिए दृश्य (ऊपर, बायां, नीचे, दाएं) के किनारे को बढ़ाया जा सकता है। इसे एक उदाहरण के साथ देखते हैं: यहां आप किनारों के मूल्य निर्धारित नहीं कर रहे हैंएक्सटेक्टेडलेआउट। इसलिए डिफ़ॉल्ट मान (UIRectEdgeAll) लिया जाता है, इसलिए दृश्य पूरी स्क्रीन को भरने के लिए उसके लेआउट को बढ़ाता है। यह नतीजा है: जैसा कि आप देख सकते हैं, नेविगेशन बार और स्टेटस बार के पीछे लाल पृष्ठभूमि फैली हुई है। अब, आप उस मान को UIRectEdgeNone पर सेट करने जा रहे हैं इसलिए आप व्यू नियंत्रक को स्क्रीन को कवर करने के लिए दृश्य का विस्तार नहीं करने के लिए कह रहे हैं: जब आपका दृश्य एक UIScrollView या समान है, जैसे UITableView आप चाहते हैं कि आपकी मेज ने जहां नेविगेशन बार समाप्त हो, वहां शुरू हो, क्योंकि आप संपूर्ण सामग्री को नहीं देखते हैं, लेकिन एक ही समय में आप चाहते हैं कि आपकी तालिका स्क्रॉल करते समय पूरी स्क्रीन को कवर करे। उस स्थिति में, किनारों को सेट करने के लिएएक्सटेंटेडआपको कोई भी काम नहीं कर रहा है क्योंकि आपकी तालिका स्क्रॉल करना शुरू कर देती है जहां नेविगेशन बार समाप्त होता है और यह उसके पीछे नहीं जाता है यहां यह संपत्ति काम में आती है, यदि आप देखते हैं कि नियंत्रक स्वतः इनसेट को समायोजित करते हैं (ये संपत्ति को हाँ में भी सेट करते हैं, यह भी डिफ़ॉल्ट मान होता है) यह तालिका के शीर्ष पर इनसेट को जोड़ देगा, इसलिए तालिका शुरू होगी जहां नेविगेशन बार समाप्त होता है, लेकिन स्क्रॉल पूरी स्क्रीन को कवर करेगा। यह तब होता है जब नहीं: और हाँ (डिफ़ॉल्ट रूप से): दोनों ही मामलों में, नेविगेशन पट्टी के पीछे तालिका स्क्रॉल, लेकिन दूसरे मामले (हाँ) में, यह नेविगेशन बार के नीचे से शुरू होगा यह मान पिछले वाले लोगों के लिए एक अतिरिक्त है यदि स्टेटस बार अपारदर्शी है, तो स्टेटस बार भी शामिल करने के लिए दृश्यों को विस्तारित नहीं किया जाएगा, जब तक कि यह पैरामीटर हां नहीं है। इसलिए, यदि आप नेविगेशन बार को कवर करने के लिए अपने दृष्टिकोण का विस्तार करते हैं (किनारों के लिए विस्तारित लेआउट से यूआईएआरएक्टएडिट सभी) और पैरामीटर नहीं है (डिफ़ॉल्ट) यह स्थिति पट्टी को कवर नहीं करेगी यदि इसकी अपारदर्शी। अगर कुछ स्पष्ट नहीं है, तो एक टिप्पणी लिखें और I आईओएस कैसे जानता है कि आईओएस का उपयोग करने के लिए यूआईएसक्रॉलएव्यू आपके दृश्य नियंत्रकों को देखने के पहले सबव्यू को पकड़ लेता है, इसलिए सूचकांक 0 पर एक और अगर यूआईएसक्रोलएव्यू के उप-वर्ग तब समझाए गए गुणों पर लागू होता है बेशक, इसका मतलब है कि UITableViewController डिफ़ॉल्ट रूप से काम करता है (चूंकि UITableView पहला दृश्य है)।
Comments
Post a Comment