มีวิธีตั้งค่า autocapitalizationType เพื่อUITextField
ให้อักษรตัวแรกของแต่ละคำเป็นตัวพิมพ์ใหญ่ตามค่าเริ่มต้นหรือไม่?
นี่คือตัวอย่างของสิ่งที่ฉันต้องการ
มีวิธีตั้งค่า autocapitalizationType เพื่อUITextField
ให้อักษรตัวแรกของแต่ละคำเป็นตัวพิมพ์ใหญ่ตามค่าเริ่มต้นหรือไม่?
นี่คือตัวอย่างของสิ่งที่ฉันต้องการ
คำตอบ:
ใช้
textField.autocapitalizationType = UITextAutocapitalizationTypeWords;
สำหรับข้อมูลเพิ่มเติมโปรดอ่าน: UITextInputTraits Protocol Reference
autocapitalizationType
สิ่งที่เราต้องการจะทำคือการตั้งค่าของฟิลด์ข้อความ
self.textfield.autocapitalizationType = UITextAutocapitalizationTypeWords
self.textfield.autocapitalizationType = .words
มีตัวเลือกบางอย่างที่นี่:
allCharacters
เหมือนกับการแตะสองครั้งที่ปุ่ม shift โดยทั่วไปคือ capslocknone
ค่อนข้างอธิบายตัวเองแป้นพิมพ์จะไม่พยายามใช้ตัวพิมพ์ใหญ่sentences
จะพยายามใช้ตัวพิมพ์ใหญ่ของคำถัดไปหลังเครื่องหมายวรรคตอนท้ายwords
จะพยายามใช้ตัวพิมพ์ใหญ่ทุกคำใหม่ (หลังเว้นวรรค) ซึ่งดูเหมือนว่าจะตรงกับสิ่งที่คุณกำลังมองหาคุณสมบัตินี้ยังสามารถตั้งค่าได้จาก Attributes Inspector ของตัวสร้างอินเทอร์เฟซเมื่อคุณเลือกฟิลด์ข้อความที่เหมาะสม:
"การใช้อักษรตัวพิมพ์ใหญ่" เป็นตัวเลือกแรกในกลุ่มนี้ซึ่งเพิ่งผ่านการเลือกขนาดแบบอักษรขั้นต่ำสำหรับช่องข้อความ
การตั้งค่าcapitalization
คุณสมบัติเป็น "Words" จะแนะนำให้ผู้ใช้ป้อนคำที่เป็นตัวพิมพ์ใหญ่ ผู้ใช้สามารถแทนที่สิ่งนี้ได้โดยการยกเลิกการเลื่อนแป้นพิมพ์ สิ่งที่ดีที่สุดที่ต้องทำคือใช้อักษรตัวพิมพ์ใหญ่ในรหัส:
NSString *text = [myTextField.text capitalizedString];
ใช่. บน InterfaceBuilder บนตัวตรวจสอบแอตทริบิวต์ textField คุณสามารถตั้งค่าคุณสมบัติตัวพิมพ์ใหญ่เป็น Words ได้
มีคำตอบสำหรับ Obj-C ฉันมาที่นี่เพื่อ Swift;
textField.autocapitalizationType = UITextAutocapitalizationType.words
หรือวิธีที่สั้นกว่า
textField.autocapitalizationType = .words
คุณสามารถทำได้ในรูปแบบ Storyboard หรือไฟล์. xib เพียงแค่เลือกฟิลด์ข้อความและในตัวตรวจสอบแอตทริบิวต์ทางด้านขวาจะมีส่วนการใช้อักษรตัวพิมพ์ใหญ่ซึ่งคุณสามารถเลือกสิ่งที่เหมาะกับคุณได้ ในกรณีของคุณให้ใช้อักษรตัวพิมพ์ใหญ่เป็น "Words"
ใน Xamarin.ios / Monotouch สิ่งนี้ใช้ได้กับฉัน:
textField.AutocapitalizationType = UITextAutocapitalizationType.Words;