2013-01-17 65 views
33

में URL को क्लिक करने योग्य नहीं बना सकता है मैं अपने ऐप को लेआउट करने के लिए इंटरफ़ेस बिल्डर का उपयोग कर रहा हूं। मेरे पास एक UITextView है जिसमें कुछ टेक्स्ट शामिल है, जिसमें से एक हिस्सा एक यूआरएल है जिसे मैं क्लिक करने योग्य बनाना चाहता हूं (उदाहरण के लिए ब्राउज़र लॉन्च करता है)। मैंने यह पढ़ा है कि यह कैसे करें और मेरा मानना ​​है कि मैं इसे सही तरीके से कर रहा हूं, हालांकि यूआरएल नीला/क्लिक करने योग्य दिखाई देता है, आईफोन एमुलेटर में इसे क्लिक करने से काम नहीं होता है। कुछ नहीं हुआ।UITextView

मेरे नियंत्रक:

@interface FirstViewController : UIViewController <UISearchBarDelegate> 
@property (nonatomic, retain) IBOutlet UITextView *review; 
@end 

मेरी कार्यान्वयन में मैं @synthesize review; (और देखने के पाठ में हेरफेर करने, ताकि मुद्दा है नहीं लगता कि कर रहा हूँ)।

आईबी में मेरे पास है:

IB Settings

..then बाद में जब मैं पाठ सेट (और देखने को क्लिक करने योग्य में यूआरएल करने का प्रयास) के लिए मुझे क्या करना जाना:

self.review.text = content; 
// My understanding is that this makes URLs clickable... 
self.review.dataDetectorTypes = UIDataDetectorTypeLink; 

... जो कुछ प्रदर्शित करता है:

Simulator Output

... जो वास्तव में ऐसा लगता है कि यह काम करना चाहता है, हालांकि यूआरएल पर क्लिक करने पर कुछ भी नहीं होता है। मैं क्या खो रहा हूँ?

--UPDATE--

दीक्षित पटेल के जवाब के जवाब में self.review.editable = NO; जोड़ने की कोशिश की है, लेकिन यह समस्या का समाधान नहीं: इस आशा आप को यह सहायता का उपयोग करने के

self.review.text = content; 
// My understanding is that this makes URLs clickable... 
self.review.editable = NO; 
self.review.dataDetectorTypes = UIDataDetectorTypeLink; 
+1

डाउनवॉटेड हुह? जानना अच्छा लगेगा क्यों। – Madbreaks

उत्तर

14

मुद्दा यह है कि User Interaction Enabled आईबी के गुण इंस्पेक्टर के दृश्य अनुभाग के तल पर चेक नहीं किया गया था:

+0

आपने मेरा दिन प्रिय बना दिया! – Prasanna

21

कोशिश

लिंक UITextView में डिफ़ॉल्ट रूप से क्लिक करने योग्य नहीं हैं। लेकिन सौभाग्य से वे कोड की कुछ सरल लाइनों के साथ सक्रिय किया जा सकता:

self.review.editable = NO; 
self.review.dataDetectorTypes = UIDataDetectorTypeLink; 

दुर्भाग्य से आप एक संपादन योग्य UITextView क्लिक करने योग्य लिंक के साथ नहीं हो सकता। यदि आप YES को संपादन योग्य सेट करते हैं, तो सभी लिंक नियमित टेक्स्ट के रूप में माना जाएगा।

संपादित

यू ठीक से जाँच यह आपके .xib फ़ाइल में अक्षम UITextView हो सकता है।

enter image description here

+0

धन्यवाद। जोड़ा गया 'self.review.editable = नहीं;' (पहले से ही दूसरा हिस्सा था), लेकिन अभी भी काम नहीं कर रहा है। दृश्य 'टेक्स्ट' सेट करने से पहले और बाद में कोड की उन पंक्तियों को जोड़कर दोनों को आजमाएं। – Madbreaks

+0

संपादन योग्य सेटिंग को शामिल करने के लिए मेरे प्रश्न को अपडेट किया गया। – Madbreaks

+2

@ मैडब्रेक्स ने आपको सही तरीके से जांच की है, यह आपकी .xib फ़ाइल में UITextview अक्षम हो सकता है। –

48

चेक "चयन" और "लिंक" TextView में चेक बॉक्स निरीक्षक जिम्मेदार बताते हैं।

+0

self.selectable = true –

+1

स्टोरीबोर्ड संपादक –

+1

@AntonTropashko में इसके लिए कोई बटन नहीं है वास्तव में स्टोरीबोर्ड संपादक में इसके लिए एक बटन है। यह विशेषता निरीक्षक में है। – shim