2012-06-26 24 views
8

दृश्य में एक UITextView है, दृश्य नियंत्रक मॉडल शैली के साथ दिखा रहा है। मेरे दृश्यडिडलोड विधि में, मैंने इस UITextView का पाठ सेट किया है, लेकिन, पाठ प्रदर्शित नहीं हो रहा है। त्रुटि दिखाए नीचे छवि। टेक्स्ट रंग काला है।UITextView में टेक्स्ट सही ढंग से प्रदर्शित नहीं किया जा सकता है, अदृश्य, लेकिन कब्जे वाले रिक्त स्थान

अजीब चीज है, जब मैं टेक्स्ट व्यू में लंबे समय तक टैप करता हूं या कीबोर्ड में [वापसी] टैप करता हूं, तो टेक्स्ट दिखाई देता है। एक बात मैंने देखी है कि यह त्रुटि केवल तब हुई जब मेरे द्वारा सेट किया गया पाठ UITextView फ्रेम चौड़ाई से लंबा है, और अंतिम शब्द टूटा हुआ नहीं है जैसे लंबे यूआरएल

मुझे लगता है कि समस्या है शायद शब्द सही ढंग से काम नहीं लपेटें।

अग्रिम धन्यवाद।

enter image description here

कोड नीचे की तरह:

UITextView *myTextView = [[UITextView alloc]initWithFrame:CGRectMake(10, 10, 520, 220)]; 
myTextView.textColor = [UIColor blackColor];  
myTextView.font = [UIFont systemFontOfSize:20]; 
myTextView.layer.cornerRadius = 5; 
myTextView.delegate = self; 
myTextView.text = @"long text should some like http://stackoverflow.com/posts/11200726/edit"; 

[self.view addSubview:myTextView]; 
[myTextView release]; 

RESOVLED। डिडलोड विधि में, नीचे कोड जोड़ें:

CGRect tempFrame = myTextView.frame; 
[myTextView setFrame:CGRectZero]; 
[myTextView setFrame:tempFrame]; 
+0

क्या आप हमें UITextView के लिए कोड दिखा सकते हैं? धन्यवाद। – pasawaya

+0

मैंने कोड जोड़ दिया है। बस आवंटित/init, और फिर सेट, रिलीज। यहां कोई और चीज नहीं है। –

+0

आपका फिक्स भी मेरे लिए काम करता है। मेरे पास एक छोटा सा पाठ भी था, इसलिए मुझे लगता है कि समस्या शब्द रैपिंग से संबंधित नहीं है। एफवाईआई कॉलिंग [myTextView setNeedsDisplay] और/या [myTextView setNeedsLayout] हल नहीं करता है लेकिन फ्रेम बदलता है। –

उत्तर

0

क्या आप वाकई टेक्स्ट का रंग काला हैं? यह भी सुनिश्चित करें कि दृश्य पदानुक्रम में टेक्स्ट व्यू के पीछे छवि है। TextView स्वचालित रूप से वर्ड रैप को संभालता है।

+0

हां, यह काला है। यहां कोई छवि नहीं है। –

0

मुझे लगता है कि इस मामले में, viewDidLoad को मॉडलViewController प्रस्तुत करने से पहले कॉल किया जा रहा है।

  • मोडल व्यू कंट्रोलर प्रस्तुत किए जाने के बाद टेक्स्ट सेट करें।
  • यदि वह काम नहीं कर रहा है, तो मॉडल पेश करने के बाद, पाठ को स्पष्ट रूप से सेट करने के लिए एक विधि को कॉल करें।
+0

मैंने डीडएपियर को देखने में टेक्स्ट सेट करने का प्रयास किया है, काम नहीं कर रहा है। –

0

अपना दृश्य पदानुक्रम देखें। आपने उस दृश्य के ऊपर एक और टेक्स्ट व्यू जोड़ा होगा।

0

टेक्स्ट व्यू के पृष्ठभूमि रंग को बदलने का प्रयास करें। यह दिखाना चाहिए कि UITextView वहां जोड़ा गया है। और सुनिश्चित करें कि आप अपने UITextView के ऊपर एक सबव्यूव के रूप में एक और दृश्य नहीं जोड़ रहे हैं। यदि टेक्स्ट रंग काला है, तो यह दिखाई देनी चाहिए, वर्डव्रैप स्वचालित रूप से डिफ़ॉल्ट रूप से तब तक किया जाता है जब तक आप संपत्ति को बदल नहीं लेते हैं। यदि जोड़ा गया है तो XIB में विशेषता सेटिंग्स को जांचने का प्रयास करें और प्रोग्रामेटिक रूप से जोड़ने पर कोड दिखाएं।

+0

मैंने कोड जोड़ दिया है। बस आवंटित/init, और फिर सेट, रिलीज। यहां कोई और चीज नहीं है। एक ही समस्या के लिए –

0

मुझे लगता है कि समस्या में:

self.view 

प्रयास करें शीर्ष

self.view = [[[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds] autorelease]; 

में इस कोड को पंक्ति जोड़ें और अगर मदद नहीं करेगा, इस कोड को लाइन

myTextView.layer.cornerRadius = 5; 
5

उपवर्ग UITextView हटाने की कोशिश , अपने आप की एक कक्षा में, मान लें MyUITextView: UITextView।

साथ

यह गुप्त प्रारंभ [[MyUITextView alloc] initWithFrame: CGRectZero]

MyUITextView में विधि

ओवरराइड

- (शून्य) willMoveToWindow: (UIWindow *) न्यूविंडो

और इसमें, उचित मूल्य पर self.frame सेट करें।

यह मेरे लिए काम किया!

+0

? शायद, बस फ्रेम को रीसेट करें, मैं इसे आजमाउंगा। धन्यवाद। –

+1

मैं फ्रेम को दृश्य में रीडसेट करता हूं। टेक्स्ट व्यू को उप-वर्गीकृत नहीं करें। और, यह काम करता है! धन्यवाद! –