UIView

2015-01-07 6 views
26

के अंदर UITableView के ऊपर खाली सफेद स्थान मैं अपने व्यू कंट्रोलर दृश्य के अंदर एक टेबल व्यू को स्थानांतरित करने की कोशिश कर रहा हूं लेकिन नेविगेशन बार के नीचे और तालिका के शीर्ष के बीच 44 ऊंचाई अंतर को छोड़ रहा हूं। मैं फिर एक स्थिर शीर्षलेख के रूप में कार्य करने के लिए उस अंतर के अंदर एक UITextField रखना चाहता था। किसी कारण से, टेबलव्यू में "प्रोटोटाइप सेल" की शुरुआत से ऊपर एक खाली सफेद जगह है। इसकी सिर्फ सफेद जगह है। स्टोरीबोर्ड में ऐसा लगता है।UIView

storyboard

एप्लिकेशन प्रदर्शन को देखने, इस यह क्या लगता है जैसे:

app1

तालिका स्क्रॉल है, यह सही जगह पर नीचे से ऊपर तक जाता है:

app2

+0

के संभावित डुप्लिकेट (http://stackoverflow.com/questions/18880341/why-is-there-extra-padding- [क्यों iOS7 में शैली UITableViewStyleGrouped के साथ मेरे UITableView के शीर्ष पर अतिरिक्त गद्दी है] at-the-top-of-my-uitableview-with-style-uitableviewst) –

उत्तर

86

'विशेषता निरीक्षक' में देखने का प्रयास करें (में सही मेनू) प्रतिभागियों ViewController के। विकल्प 'विस्तार बढ़ाएं' के लिए जांचें और 'अंडर टॉप बार्स' को अनचेक करें, और फिर अपना टेबलव्यू स्थानांतरित करें।

एक और संभावित समाधान केवल 'स्क्रॉल व्यू इन्सेट समायोजित करें' को अनचेक करना है। कारण यह है कि जब व्यू कंट्रोलर अपने किनारों को बढ़ाता है, तो चलिए शीर्ष बार के नीचे कहते हैं, तालिका दृश्य का स्क्रॉल दृश्य स्वचालित रूप से अपने इन्सेट टॉप को समायोजित करता है, ताकि तालिका दृश्य की सामग्री शीर्ष बार के नीचे शुरू हो जाए। लेकिन आपके मामले में इसकी आवश्यकता नहीं है, क्योंकि आपकी तालिका दृश्य बार के नीचे शुरू होती है।

ViewController पर ध्यान दें और गुण निरीक्षक टैब को मिला:

enter image description here

+0

बढ़िया!यह अच्छी तरह से काम करता है सिवाय इसके कि जब लैंडस्केप मोड में "नाम दर्ज करें" टेक्स्ट फ़ील्ड दिखाई नहीं दे रहा है। शायद यह तालिका के नीचे छिपा हुआ है क्योंकि नेविगेशन बार पतला है? – Fenda

+0

बाधाओं के लिए बस एक साधारण मामले की तरह लगता है। टेक्स्ट फ़ील्ड - 'टॉप स्पेस टू टॉप लेआउट गाइड' के लिए बाधा सेट करने का प्रयास करें, इस मामले में टेक्स्टफिल्ड को आपके द्वारा सेट किए गए निरंतर द्वारा शीर्ष लेआउट मार्गदर्शिका के तहत होना चाहिए, शीर्षLayoutGuide बिल्कुल नेविगेशन बार के नीचे है। – oren

+0

बस एक बेहतर समाधान के साथ मेरा जवाब अपडेट किया गया। वैसे, मैं बस जोर देना चाहता हूं कि यह हेडर व्यू से संबंधित नहीं है, जैसा कि अन्य उत्तर सुझाया गया है ... कम से कम नहीं, जैसा कि मैंने इसे देखा .. – oren

1

आप डिफ़ॉल्ट सेटिंग को परिवर्तित करने के लिए किनारों का विस्तार की जरूरत नहीं होनी चाहिए।

ऐसा लगता है कि वास्तविक समस्या आपके स्टोरीबोर्ड में एक खाली तालिका शीर्षलेख दृश्य है। यह आपके स्टोरीबोर्ड द्वारा प्रदान किए गए स्क्रीनशॉट में दिखा रहा है, एंटर नाम दृश्य के ठीक नीचे और प्रोटोटाइप सेल दृश्य के ठीक ऊपर। इसे मिटाओ।

+0

शायद मैं पागल हो रहा हूं लेकिन आप रिक्त तालिका शीर्षलेख दृश्य को कैसे हटाते हैं? मैं उस खाली जगह में कुछ भी क्लिक नहीं कर सकता। – Fenda

+0

शायद यह मैं हूं। यदि आप बाईं ओर स्थित संरचना संपादक में तालिका दृश्य का विस्तार करते हैं, तो आप क्या देखते हैं? उस सफेद जगह में क्या है? क्या आप एक स्क्रीनशॉट प्रदान कर सकते हैं? –

+0

तथ्य यह है कि जब आप तालिका स्क्रॉल करते हैं तो अंतरिक्ष गायब हो जाता है, यह बताता है कि सफेद स्थान तालिका दृश्य का हिस्सा है। मुझे पता है कि आपके टेबल में हेडर व्यू है या नहीं। –

8

बस विधि आप में इस ऐड viewDidLoad

self.automaticallyAdjustsScrollViewInsets = NO; 
+0

अरे, यह एक जादू की तरह आदमी काम करता है, धन्यवाद –

10

इस एक का प्रयास करें:

self.tableView.contentInset = UIEdgeInsetsMake(-65, 0, 0, 0) 
+0

अजीब बात यह है कि समाधानों में से कोई भी आपकी मदद करने में मदद नहीं करता है। –

+0

यह पूरी तरह से काम किया। धन्यवाद – user578386

+0

यह केवल मेरे लिए काम किया गया था ... आश्चर्य क्यों ... – user2704776

0

मैं सिर्फ इस के लिए एक समाधान मिल गया। मेरे मामले में, मैं TabBarViewController का उपयोग कर रहा था, ए बस 'स्क्रॉल व्यू इन्सेट समायोजित करें' विकल्प को अनचेक करें। मुद्दे दूर चला जाता है।

https://i.stack.imgur.com/qgQI8.png

0

ऑब्जेक्टिव-सी लोगों के लिए, अपने viewDidLoad विधि में इस जोड़ें।

[self.tableView setContentInset:UIEdgeInsetsMake(-20, 0, 0, 0)];