2015-04-18 13 views
8

इस मुद्दे के बारे में प्रश्न पूछे गए हैं। मैंने सब कुछ करने की कोशिश की और मेरी समस्या को ठीक नहीं कर सका। मैं 2 घंटे तक संघर्ष कर रहा था और अब मैं इसे यहां पोस्ट कर रहा हूं।अतिरिक्त 20px शीर्ष इन्सेट UIScrollView समस्या

समस्या: UIScrollView की शीर्ष सामग्री इन्सेट में हमेशा 20px अतिरिक्त स्थान होता है।

मेरे पास viewcontroller xib है, स्टोरीबोर्ड नहीं।

पहले, संबंधित प्रश्न और स्टैक ओवरफ्लो पर इसका समाधान मानता है कि UIScrollView UIViewController का मूल दृश्य है। लेकिन मेरा स्क्रॉलव्यू रूट व्यू नहीं है और इसलिए शायद

self.automaticallyAdjustsScrollViewInsets = NO;

  • काम नहीं कर रहा मैं leadingspace (0, superview) के साथ एक HeaderView है, अंतरिक्ष (0, सुपर दृश्य), शीर्ष अंतरिक्ष (0, superview) और निश्चित ऊंचाई अनुगामी।
  • हैडर दृश्य के नीचे अग्रणी अंतरिक्ष (0, superview), अनुगामी अंतरिक्ष (0, superview), नीचे अंतरिक्ष (0, superview) और ऊर्ध्वाधर अंतरिक्ष (0, शीर्ष लेख देखें)
  • एक दृश्य नहीं है साथ scrollview है सामग्री के लिए स्क्रॉलव्यू के अंदर। इस दृश्य में अग्रणी (0), पीछे (0), नीचे (0) और शीर्ष (0) स्थान स्क्रॉलव्यू में है।

यहां अतिरिक्त 20 पीएक्स टॉप इंसेट का स्क्रीनशॉट है। अतिरिक्त 20px सफेद रेखा और UIScrollView की हल्की भूरे रंग की सामग्री के बीच का काला क्षेत्र है, मैं इसे ठीक करने में असमर्थ हूं। enter image description here

क्या मैं कुछ गलत कर रहा हूं? Autolayout बाधा ठीक लग रहा है।

उत्तर

24

क्या आपके पास नेविगेशन नियंत्रक में एम्बेडेड आपका नियंत्रक है? ऐसा लगता है कि आईओएस स्टेटस बार के लिए शीर्ष पर 20px छोड़ रहा है लेकिन आपके नियंत्रक के पास एक नहीं है।

किसी भी तरह से, अपने viewDidLoad में यह करता है, तो आपको बुला सुपर से पहले scrollview समायोजित काम करना चाहिए:

- (void)viewDidLoad { 
    self.automaticallyAdjustsScrollViewInsets = NO; 
    self.scrollView.contentInset = UIEdgeInsetsMake(0,0,0,0); 
    [super viewDidLoad]; 
    } 

कारण है कि आईओएस स्वचालित रूप से अपने scrollview मजबूर कर एक 20px टॉप contentInset है, क्योंकि यह हो सकता है के लिए हो सकता है आपके मुख्य दृश्य में इंडेक्स 0 के साथ दृश्य। आप आगे यहाँ पढ़ सकते हैं: http://b2cloud.com.au/how-to-guides/uiviewcontroller-changes-in-ios7

डिफ़ॉल्ट रूप से, एक UIViewController स्वचालित रूप से सामग्री सन्निवेश का यह दृश्य सूचकांक 0, बहुत पीछे UIScrollView (UITableViews सहित) है को समायोजित करेगा। इसका अर्थ यह है कि यदि आपके टेबल व्यू के पीछे कोई बटन, लेबल, या कोई अन्य दृश्य है, तो आपको यह व्यवहार मुफ्त में नहीं मिलेगा।

+1

यह सूचकांक की बात थी। धन्यवाद। –

+0

thnx बहुत, दोस्तों –

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