2008-11-26 18 views
128

पर "साफ़ करें" बटन जोड़ना आप UITextField के दाईं ओर उस छोटे "एक्स" बटन को कैसे जोड़ते हैं जो पाठ को साफ़ करता है? मुझे आईफोन ओएस 2.2 एसडीके में इंटरफ़ेस बिल्डर में इस सब-कंट्रोल को जोड़ने के लिए कोई विशेषता नहीं मिल रही है।एक आईफोन UITextField

नोट: एक्सकोड 4.x और बाद में (आईफोन 3.0 एसडीके और बाद में) में, आप इसे इंटरफ़ेस बिल्डर में कर सकते हैं।

उत्तर

272

यह बटन एक अंतर्निहित ओवरले है जो UITextField क्लास द्वारा प्रदान किया गया है, लेकिन आईफोन ओएस 2.2 एसडीके के रूप में, इंटरफ़ेस बिल्डर के माध्यम से इसे सेट करने का कोई तरीका नहीं है। आपको इसे प्रोग्रामेटिक रूप से सक्षम करना होगा।

(उदाहरण के लिए, viewDidLoad) कहीं कोड की इस पंक्ति जोड़ें:

myUITextField.clearButtonMode = UITextFieldViewModeWhileEditing; 

अद्यतन: Xcode आईबी के नवीनतम संस्करण को इस संपत्ति का समर्थन करता है।

+2

- हाय। क्या मैं टेक्स्टफिल्ल्ड पर clearButtonMode के आकार को संपादित कर सकता हूं .. – NiKKi

32

आप कस्टम स्पष्ट बटन जोड़ सकते हैं और आकार और इस का उपयोग करते हुए हर चीज को नियंत्रित कर सकते हैं:

UIButton *clearButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
[clearButton setImage:img forState:UIControlStateNormal]; 
[clearButton setFrame:frame]; 
[clearButton addTarget:self action:@selector(clearTextField:) forControlEvents:UIControlEventTouchUpInside]; 

textField.rightViewMode = UITextFieldViewModeAlways; //can be changed to UITextFieldViewModeNever, UITextFieldViewModeWhileEditing, UITextFieldViewModeUnlessEditing 
[textField setRightView:clearButton]; 
38

तुम भी गुण निरीक्षक के तहत इंटरफ़ेस बिल्डर से सीधे इस सेट कर सकते हैं।

enter image description here

XCode 5.1

+1

ध्यान दें कि प्रश्न विशेष रूप से 2.2 एसडीके के बारे में पूछता है, और नोट करता है कि यह विकल्प इंटरफेस बिल्डर में बाद के संस्करणों में उपलब्ध है। –

25

स्विफ्ट 3 से लिया:

textField.clearButtonMode = UITextFieldViewMode.WhileEditing 

या भी कम:

textField.clearButtonMode = .whileEditing 
+0

एनम प्रकार को ठीक करें। पूंजी पत्र से शुरू नहीं होना चाहिए। –

6

उद्देश्य सी:

self.txtUserNameTextfield.myUITextField.clearButtonMode = UITextFieldViewModeWhileEditing; 

स्विफ्ट:

txtUserNameTextfield.clearButtonMode = UITextFieldViewMode.WhileEditing; 
4

इस काम नहीं करते, मेरे जैसे कार्य करें:

तेज:

customTextField.clearButtonMode = UITextFieldViewMode.Always 

customTextField.clearsOnBeginEditing = true; 

func textFieldShouldClear(textField: UITextField) -> Bool { 
    return true 
} 
4

Xcode 8 (8A218a):

स्विफ्ट:

textField.clearButtonMode = UITextFieldViewMode.whileEditing; 

"W" राजधानी से गैर टोपी के लिए "डब्ल्यू" चला गया।

-2

एक्सकोड संस्करण 8.1 (8 बी 62) पर यह सीधे विशेषता निरीक्षक में किया जा सकता है। टेक्स्ट फ़ील्ड का चयन करें और फिर विशेषता बटन ड्रॉप डाउन बॉक्स से उपयुक्त विकल्प चुनें, जो विशेषता निरीक्षक में स्थित है।