2010-07-18 14 views
11
[Number.editable = NO]; 
    [Number resignFirstResponder]; 
    [Password.editable = NO]; 
    [Password resignFirstResponder]; 

मैं त्रुटि 'संपादन योग्य' कुछ नहीं एक संरचना या संघसेट UITextField गैर संपादन योग्य के रूप में उद्देश्य सी

में हो रही है

सदस्य के लिए अनुरोध: एस

धन्यवाद

उत्तर

27

सबसे पहले, [...] की आवश्यकता नहीं है यदि आप कोई संदेश नहीं भेज रहे हैं।

Number.editable = NO; 
[Number resignFirstResponder]; 
Password.editable = NO; 
[Password resignFirstResponder]; 

लेकिन यह त्रुटि का कारण नहीं है। The .editable property केवल UITextView के लिए परिभाषित किया गया है, UITextField नहीं। आपको UITextField के लिए the .enabled property सेट करना चाहिए (ध्यान दें कि एक UITextField एक यूआईसींट्रोल है)।

Number.enabled = NO; 
... 
+0

मैं इस एहसास हुआ और बस पोस्ट करने के बाद बदल गया, लेकिन वह अभी भी काम नहीं है: एस – user393273

+0

मूर्खतापूर्ण mee अपने समय के लिए textviews एक्सडी धन्यवाद करने के लिए इस्तेमाल im आह – user393273

18

इसके अलावा, आप प्रतिनिधि विधियों का उपयोग कर सकते हैं।

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{ 
    return NO; 
} 

कि चाल करना होगा, मैं textField.enabled सेटिंग पर इस विधि पसंद करते हैं = हाँ जब यह संभावना है कि संपादित करने की क्षमता अनुप्रयोग के जीवन चक्र के दौरान बदल जाएगा है।

+0

BlocksKit फली इस बनाता है यहां तक ​​कि आसान: list.bk _shouldBeginEditingBlock =^बूल (UITextField * फ़ील्ड) { वापसी नहीं; }; –

0

कन्चेंज कनैक्टर्स इनरेंज से वापस लौटना बेहतर विकल्प होगा क्योंकि यदि टेक्स्ट टेक्स्टफील्ड चौड़ाई से लंबा है, तो उपरोक्त समाधान समस्या देगा, क्योंकि उपयोगकर्ता सभी टेक्स्ट (यानी टेक्स्ट फ़ील्ड चौड़ाई से परे छिपा हुआ पाठ) नहीं देख पाएगा।

5
textField.userInteractionEnabled = NO; 

आशा इस मदद करता है ..

+0

ध्यान दें कि इसका मतलब यह होगा कि उपयोगकर्ता भी कॉपी करने के लिए लंबे समय तक प्रेस नहीं कर पाएगा – mylogon

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