मेरे पास इसमें कुछ पाठ के साथ UITextView है। IOS 6 के साथ सबकुछ ठीक था, लेकिन अब iOS 7 के साथ यह शीर्ष पर रिक्त स्थान छोड़ देता है और फिर टेक्स्ट के मध्य में पाठ को नीचे रखें।
मैंने कोई सामग्री सेट नहीं की थी। कृपया सहायता कीजिए!
मेरे पास इसमें कुछ पाठ के साथ UITextView है। IOS 6 के साथ सबकुछ ठीक था, लेकिन अब iOS 7 के साथ यह शीर्ष पर रिक्त स्थान छोड़ देता है और फिर टेक्स्ट के मध्य में पाठ को नीचे रखें।
मैंने कोई सामग्री सेट नहीं की थी। कृपया सहायता कीजिए!
जवाबों:
एक पाठ दृश्य एक स्क्रॉल दृश्य है। व्यू कंट्रोलर व्यू स्क्रॉल करने के लिए स्वचालित रूप से एक कंटेंट ऑफसेट जोड़ देगा, क्योंकि यह माना जाता है कि वे नेवी बार और स्टेटस बार के पीछे स्क्रॉल करना चाहेंगे।
इसे रोकने के लिए, टेक्स्ट व्यू वाले व्यू कंट्रोलर पर निम्नलिखित प्रॉपर्टी सेट करें:
self.automaticallyAdjustsScrollViewInsets = NO
आयरनमैनगिल ने जो वर्तमान उत्तर दिया, वह एक अच्छा समाधान नहीं है, क्योंकि यह इस बात की समझ पर आधारित नहीं है कि समस्या पहले स्थान पर क्यों होती है।
jrturton का जवाब भी इसे हल करने का सबसे साफ तरीका नहीं है। आपको ओवरराइड करने की आवश्यकता नहीं है। इसे सरल रखें!
आपको बस निम्नलिखित सेट करना है:
self.automaticallyAdjustsScrollViewInsets = NO;
व्यूडीडलॉड पद्धति में।
डॉक्स देखें: https://developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin
automaticallyAdjustsScrollViewInsets पदावनत किया गया है। IOS11 से, का उपयोग करेंcontentInsetAdjustmentBehavior
इंटरफ़ेस बिल्डर में,
इसने मेरे लिए काम किया
textView.textContainerInset = UIEdgeInsetsZero;
textView.textContainer.lineFragmentPadding = 0;
यहां जाएं Interface Builder:
view controllerजिसमें आपका चयन करेंtext viewAdjusts Scroll View Insetsसंपत्ति को अनचेक करेंमैं वास्तव में आश्चर्यचकित हूं कि क्या यह एक वास्तविक विशेषता है ... यह 64 बिंदु स्वचालित इनसेट केवल तभी जोड़ा जाता है जब UIScrollViewयाUITextView दृश्य नियंत्रक के दृश्य के सभी उपखंडों की अधिक गहराई के रूप में। उदाहरण के लिए, यदि आप पीछे एक दृश्य जोड़ते हैं (यहां मैं z- बफर के बारे में बात कर रहा हूं, तो imbrication नहीं) स्क्रॉल दृश्य, यह 64 बिंदु इनसेट स्वचालित रूप से जोड़ा नहीं गया है।
उदाहरण के लिए, यह इनसेट जोड़ता है:

इस मामले में, इनसेट नहीं जोड़ा गया है:

यह वास्तव में मेरे लिए अजीब लगता है ... ओएस यह देखने के लिए यह तय करने के लिए कि यह देखने के लिए क्या गहराई तय करनी चाहिए?
स्विफ्ट पर (Xcode 6)
self.automaticallyAdjustsScrollViewInsets = false
viewDidLoadपाठ को देखने के साथ दृश्य नियंत्रक के।
automaticallyAdjustsScrollViewInsets पदावनत किया गया है। IOS11 से, का उपयोग करेंcontentInsetAdjustmentBehavior
मैंने एक नकारात्मक मान के लिए सामग्री ऑफसेट सेट करके इस समस्या को हल किया। यहां स्विफ्ट कोड है।
yourTextView.setContentOffset(CGPoint(x: 0, y: -150), animated: true)
[self.textView setContentOffset:CGPointMake(0.f, -self.topLayoutGuide.length) animated:NO];
आपको यह समझना होगा कि यह नेविगेशन बार से संबंधित है:
स्विफ्ट 4 के लिए समाधान:
textView.textContainerInset = UIEdgeInsets.zero
यह एक अव्यवसायिक उपाय है, मुझे यकीन है ... लेकिन टेक्स्टव्यू के पीछे सिर्फ एक खाली लेबल लगाने से समस्या हल हो जाती है।