2011-10-12 19 views
11

स्क्रॉल किया है मैं एक UITextView उपयोग कर रहा हूँ एक xml .मैं से पाठ प्रदर्शित करने के लिए एक्सएमएल पार्स और एक NSArray में पाठ संग्रहीत और वहाँ से मैं अपने कोड में एक UITextview में जोड़ने से कर रहा हूँ।UITextView प्रदर्शित नहीं करता है जब तक यह

समस्या: जब मैं कोड चलाता हूं तो टेक्स्टव्यू खाली या आंशिक पाठ के साथ दिखाता है, और जब मैं टेक्स्टव्यू स्क्रॉल करने का प्रयास करता हूं तो पूरा टेक्स्ट प्रदर्शित हो रहा है।

मैंने UITextview को UIView में जोड़ा।

मुझे यह अजीब लगा और इसे गुगल किया लेकिन मुझे कई जवाब नहीं मिल पाए जो मेरी मदद करते हैं। किसी ने मुझे उत्तर दे सकते हैं इस मुद्दे

TNQ UIScrollView से

+0

आप अपने UITextView है कि फ्रेम आप उम्मीद – jbat100

+0

फिर मैं सुनिश्चित करना है कि (यदि आप त्वरित दृश्य के चेक बनाने के लिए अपनी पृष्ठभूमि रंग सेट कर सकते हैं) की जाँच की है। – Dinakar

+0

मुझे भी इस मुद्दे का सामना करना पड़ा। मैंने इस समाधान का उपयोग करके इस मुद्दे को हल किया। [1]: http://stackoverflow.com/a/11147954/1635315 – iKT

उत्तर

0

UItextView inherits हल करने के लिए। इसका मतलब है कि इसमें स्क्रॉलिंग कार्यक्षमता है। इस प्रकार, यदि UITextView की सामग्री अपने फ्रेम में फ़िट होने के लिए काफी छोटा है, तो उसे स्क्रॉल करने की आवश्यकता नहीं है।

लेकिन, यदि यह काफी बड़ा है, तो आपको UITextView स्क्रॉल करने की आवश्यकता है।

क्या यह समझ में आता है?

अधिक जानकारी के लिए उल्लेख UITextView

+0

यह सच है, लेकिन मेरा मामला यह है कि uitextView इससे पहले कोई डेटा नहीं दिखा रहा है स्क्रॉल किया गया। इसके अलावा इसे स्क्रॉल करने से पहले टेक्स्टव्यू में फ़िट होने वाले डेटा की मात्रा चाहिए। है ना? – Dinakar

+0

हां, यह सच है। मुझे इस पर कुछ खोजने दें ... –

0

के वर्ग संदर्भ सुनिश्चित करें कि, जो विधि में यू TextView के पाठ सेट फोन properly.And स्ट्रिंग जो यू पाठ को देखने के लिए आवंटित (उचित स्ट्रिंग स्वरूप में है यदि ऐसा है तो अपने पास नहीं है यह)।

0

कि व्हाइटस्पेस और/या नई-पंक्तियों वास्तविक पाठ से पहले देखते हैं संभावना हैं। पाठ दृश्य को असाइन करने से पहले उन पात्रों को ट्रिम करें।

NSCharacterSet *charset = [NSCharacterSet whitespaceAndNewlineCharacterSet]; 
NSString *text = [parsedString stringByTrimmingCharactersInSet:charset]; 
textview.text = text; 
1

मैं TextView साफ़ करके समस्या हल हो जाती है और फिर से TextView के लिए पाठ जोड़ा, मुझे नहीं सटीक funda जानते हैं, लेकिन मेरी समस्या हल हो जाती है। मेरे मामले में: मैं बटन के क्लिक पर बाहर से देखने के लिए टेक्स्टव्यू के फ्रेम को बदल रहा हूं। बटन बटन पर क्लिक किया गया है, टेक्स्टव्यू सामग्री नहीं दिखा रहा है और स्क्रॉल पर यह दिखाता है।

मैंने टेक्स्टव्यू से पाठ को हटाकर और बटन पर क्लिक करके टेक्स्ट दर्ज करके हल किया।

+0

मुझे अभी एक ही समस्या दिखाई दे रही है। मैं UITextView ऑफ स्क्रीन से शुरू करता हूं और फिर उसे बटन के धक्का के साथ स्लाइड करता हूं। मैंने टेक्स्ट (टेक्स्ट 10 से अधिक लाइनों) के साथ टेक्स्टव्यू लोड किया है, लेकिन जब तक उपयोगकर्ता टेक्स्टव्यू को छूता नहीं है तब तक यह नहीं चलता है। यह आईओएस बग, या अजीब "फीचर" जैसा दिखता है। उपरोक्त फिक्स करने से केवल पहली पंक्ति दिखाई देती है ... duh। – Jonny

10

एक साधारण समाधान

एक ही समस्या थी। जब आप एक UITextView में टेक्स्ट डालते हैं जो दिखाई नहीं दे रहा है, तो यह टेक्स्ट नहीं खींचता है।

मैं अपने UITextView बंद स्क्रीन था और उस में एनिमेटेड इस तरह:

[UIView animateWithDuration:0.3 delay:0.0 options:UIViewAnimationCurveEaseOut animations:^{ 
    self.contentView.center = CGPointMake(self.contentView.center.x + move * (self.contentView.frame.size.width /2), self.contentView.center.y); 
    self.textView.frame = self.textView.frame; // <<<--- ADD THIS LINE 
    } completion:^(BOOL finished) { 
    if (finished) { 
    } 
}]; 

आप TextView के फ्रेम को फिर से सेट करते हैं, इसे फिर से ड्रॉ यह पाठ नहीं है। तो आपको बस इतना करना है कि आपके UITextView स्क्रीन पर आने से पहले मैंने ऊपर दी गई रेखा को जोड़ दिया है।

चीयर्स

+1

+1 यह पूरी तरह से ऐसा करने के लिए बेकार है, लेकिन यह निश्चित रूप से मेरी समस्या हल हो गया। –

+1

मेरे मामले में मुझे पहले इसे CGRectZero पर सेट करने की आवश्यकता थी, फिर उसे पुनर्स्थापित करें। आदमी! – Qiulang

+0

शायद ठंडा नहीं है लेकिन काम कर रहा है – micromanc3r

0

जब अपने TextView

NSAttributedString *oldtext = objTextView.attributedText; 
[objTextView removeFromSuperview]; 
objTextView.attributedText = oldtext; 
[self.view addSubview:objTextView]; 

लोड कर रहा है मेरी मामले में अपने पाठ

0

जब आप आपरेशन जो XML पार्स करता है को पूरा श्रेय दिया जाता है तो आप अपने अद्यतन कि यह सुनिश्चित कर रहे हैं यह करने का प्रयास करें मुख्य धागे पर हो रहा है?

UIKit केवल मुख्य धागे पर अपडेट करता है, इसलिए इसे बंद किए गए किसी भी अपडेट को केवल तब दिखाई देगा जब आप ऑब्जेक्ट को स्पर्श करेंगे और अपडेट को मजबूर करेंगे।

इसे सही तरीके से करने के एक तरीके के उदाहरण के रूप में।

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{ 

    [self parseXMLOffMainThread]; 

    dispatch_async(dispatch_get_main_queue(), ^{ 

     self.myTextView.text = parsedText; 

     });   

}); 
5

UITextView UIScrollView से विरासत में आता है, तो बस इसे स्क्रॉल करें।

[detailsTextView setContentOffset:CGPointMake(0, 1) animated:YES]; 
+0

बहुत समय बचाने के लिए धन्यवाद – Lukas

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