UITextField ऑटो-कैपिटलाइज़ेशन प्रकार - iPhone ऐप


112

क्या ऑटोकैपीटलाइज़ेशन टाइप को सेट करने का एक तरीका है UITextFieldताकि प्रत्येक शब्द के पहले अक्षर को डिफ़ॉल्ट रूप से कैपिटल किया जाए?

यह क्या मैं चाहता हूँ का एक उदाहरण है


45
दूसरी ओर - यह 'UITextField capitalization' को गूगल करने में सक्षम होना अच्छा है और इस दस्तावेज़ को खोलने और स्कैन करने के लिए एक पूर्ण मिनट बर्बाद करने के बजाय, यह 2 सेकंड में पॉप अप होता है। StackOverflow IS प्रलेखन है।
शॉन बुधराम

1
इस तरह के सवालों पर ठोकर खाने से मुझे खुशी होती है कि 1) लोग सुसंगत प्रत्यक्ष प्रश्न (कोई फर्क नहीं पड़ता) और 2) पूछने में सक्षम हैं, लोग सबसे अच्छी टिप्पणी करते हैं ***
वॉन उलरिच

जवाबों:


237

उपयोग textField.autocapitalizationType = UITextAutocapitalizationTypeWords;

अधिक जानकारी के लिए कृपया पढ़ें: UITextInputTraits Protocol Reference


2
यदि आप पाठ को फ़ील्ड में रखते हैं तो यह मदद नहीं करता। इस मामले में पाठ इनपुट प्रतिनिधि और प्रत्येक शब्द के पहले अक्षर को बदलें
HotJard

क्या आप कुछ और हॉटजार्ड के बारे में बताएंगे? मैं यह जानना चाहता हूं कि टेक्स्ट और ऑटोकैपिटलाइज़ को कैसे पेस्ट किया जाए।
vnchopra

5
यह काम नहीं करता है, मैंने इसे Xcode 6 iOS 8 स्विफ्ट पर आज़माया। मैंने इसे कोड और इंटरफ़ेस बिल्डर में किया था, न ही काम करता है।
वान डू ट्रान

10
सुनिश्चित करें कि इंटरफ़ेस बिल्डर में कीबोर्ड डिफ़ॉल्ट रूप से सेट है। अन्यथा यह काम नहीं करेगा
OscarVGG

3
यह भी सुनिश्चित करें कि आपके पास ओएस सेटिंग्स (सेटिंग्स-> सामान्य-> कीबोर्ड) में ऑटोकैपीटलाइजेशन सक्षम है, आईओएस सेटिंग्स मान आपके द्वारा पाठ क्षेत्र पर सेट किए गए कुछ भी ओवरराइड करता है
लोप

38

हम जो करना चाहते हैं, वह टेक्स्ट फ़ील्ड सेट करना है autocapitalizationType

उद्देश्य सी:

self.textfield.autocapitalizationType = UITextAutocapitalizationTypeWords

स्विफ्ट:

self.textfield.autocapitalizationType = .words

यहाँ कुछ विकल्प हैं:

यहां छवि विवरण दर्ज करें

  • allCharacters मूल रूप से कैप्सलॉक की शिफ्ट कुंजी को डबल टैप करने के समान है।
  • none सुंदर आत्म-व्याख्यात्मक है, कीबोर्ड कभी अक्षरों को कैपिटल करने की कोशिश नहीं करेगा।
  • sentences अंत चिह्न विराम चिह्न के बाद अगले शब्द को भुनाने की कोशिश करेंगे।
  • words हर नए शब्द (एक स्थान के बाद) को भुनाने की कोशिश करेंगे, जो आपको वही लग रहा है जो आप खोज रहे हैं।

यह गुण इंटरफ़ेस बिल्डर के गुण निरीक्षक से भी सेट किया जा सकता है जब आपके पास उपयुक्त पाठ फ़ील्ड चयनित हो:

यहां छवि विवरण दर्ज करें

इस समूह में "कैपिटलाइज़ेशन" पहला विकल्प है, बस पाठ क्षेत्र के लिए न्यूनतम फ़ॉन्ट आकार चुनना है।


8

capitalizationसंपत्ति को "शब्दों" में सेट करने से पता चलता है कि उपयोगकर्ता पूंजीकृत शब्दों में प्रवेश करता है। यह उपयोगकर्ता द्वारा कीबोर्ड पर अन-शिफ्टिंग द्वारा ओवरराइड किया जा सकता है। कोड में शब्दों को कैपिटलाइज़ करने के लिए सबसे अच्छी बात:

NSString *text = [myTextField.text capitalizedString];

यह संपूर्ण स्ट्रिंग को कैपिटल करेगा, UITextAutocapitalizationTypebooks बस टाइप किए गए प्रत्येक शब्द में पहले अक्षर को कैपिटल करता है।
जैकब

हालांकि यह वह नहीं है जो ओपी चाहता था, मैंने वास्तव में इसे उपयोगी पाया! मेरे पास एक NSString कहीं बचा था, जो सभी बड़े थे। मुझे एक UITextField के पाठ की मूल स्ट्रिंग से तुलना करने की आवश्यकता थी, और आपकी सिफारिश का उपयोग करके मुझे अपने उपयोगकर्ता को चीजों को समझाने से बचाया (मैंने उद्देश्य c को सभी काम करने दिया
:)

7

हाँ। InterfaceBuilder पर, TextField विशेषता निरीक्षक पर, आप शब्दों के लिए कैपिटलाइज़ेशन गुण सेट कर सकते हैं।


6

Obj-C के लिए एक उत्तर है, यहाँ Swift के लिए im;

textField.autocapitalizationType = UITextAutocapitalizationType.words

या कम रास्ता

textField.autocapitalizationType = .words

मैंने .words का परीक्षण किया है। सिम्युलेटर पर, यह काम करता है। कनेक्टेड iPhone X पर, यह नहीं है। Xcode 10.1, iPhone 12.1।
जियोही

1
अगर सेटिंग -> जनरल -> ऑटो-करेक्शन / ऑटो-कैपिटलाइज़ेशन बंद हो जाता है तो मैं काम नहीं करूंगा।
शीतल शिंदे

1

तुम भी Storyboard या .xib फ़ाइल के रूप में कर सकते हैं। बस टेक्स्टफील्ड का चयन करना होगा और दाईं ओर विशेषता निरीक्षक में एक कैपिटलाइज़ेशन अनुभाग है जहां आप जो भी सूट चुन सकते हैं। आपके मामले में यह पूंजीकरण "शब्द" है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.