Autocapitalization: apa itu, tipe dan UITextAutocapitalizationType

Penulis: IT Sectr Diterbitkan: 2026-07-08 Waktu membaca: 7 mnt

Autocapitalization — adalah mekanisme iOS yang secara otomatis mengubah huruf pertama teks yang dimasukkan menjadi huruf kapital dalam konteks tertentu. UIKit menyediakan properti autocapitalizationType dalam protokol UITextInputTraits dengan empat mode: none, words, sentences dan allCharacters. Menurut Apple Text Programming Guide (2025), konfigurasi autokapitalisasi yang tepat meningkatkan pengalaman pengguna dan mengurangi jumlah koreksi manual saat mengetik. Gunakan mode sentences untuk sebagian besar bidang teks dan none untuk nama pengguna dan kata sandi.

Poin utama

  • Autocapitalization — konversi otomatis huruf pertama menjadi kapital di bidang input UIKit
  • UITextAutocapitalizationType mencakup empat mode: none, words, sentences dan allCharacters
  • Mode sentences — paling umum, membuat huruf pertama setiap kalimat menjadi kapital
  • Mode words — membuat huruf pertama setiap kata menjadi kapital, cocok untuk bidang nama depan dan belakang
  • Mode none — wajib untuk bidang kata sandi, email, kueri penelusuran, dan kode konfirmasi

Apa itu Autocapitalization?

Autocapitalization (autokapitalisasi) — adalah fungsi sistem operasi iOS yang secara otomatis mengubah karakter pertama teks menjadi huruf kapital saat kondisi tertentu terpenuhi. Mekanisme ini dikendalikan melalui properti autocapitalizationType, tersedia untuk semua elemen yang mengimplementasikan protokol UITextInputTraits: UITextField, UITextView dan UISearchBar.

Fungsi ini bekerja di tingkat mesin teks iOS dan diaktifkan saat setiap karakter dimasukkan. Sistem menganalisis posisi kursor dan teks di sekitarnya untuk menentukan apakah karakter yang dimasukkan saat ini harus diubah menjadi kapital. Jika kondisi terpenuhi, iOS secara otomatis mengganti huruf kecil dengan huruf kapital sebelum ditampilkan di bidang.

Menurut Apple Human Interface Guidelines (2025), autokapitalisasi adalah bagian dari sistem input prediktif yang lebih luas yang juga mencakup koreksi otomatis dan pengetikan prediktif. Pengguna dapat menonaktifkan semua fungsi ini secara global di pengaturan sistem (Pengaturan > Umum > Papan Ketik), tetapi pengembang juga mengelolanya di tingkat bidang tertentu.

Tidak seperti koreksi otomatis, autokapitalisasi tidak menggunakan model bahasa — ia bekerja berdasarkan aturan sederhana: setelah titik dan spasi, di awal teks, setelah karakter baris baru. Pengecualian adalah mode words, di mana huruf pertama setiap kata menjadi kapital, terlepas dari konteksnya.

Mode autokapitalisasi

UITextAutocapitalizationType — adalah enumerasi empat nilai yang menentukan strategi konversi huruf kapital otomatis. Setiap mode ditujukan untuk jenis bidang teks tertentu dan menyelesaikan tugas pengalaman pengguna yang spesifik.

None — tanpa autokapitalisasi

Mode .none sepenuhnya menonaktifkan konversi huruf kapital otomatis. Semua karakter dimasukkan dalam huruf besar/kecil sesuai yang diketik pengguna. Mode ini wajib untuk bidang kata sandi, alamat email, nama panggilan, kueri penelusuran, dan bidang apa pun yang huruf besar/kecilnya penting untuk pemrosesan data di server.

Words — setiap kata dengan huruf kapital

Mode .words membuat huruf pertama setiap kata yang dimasukkan menjadi kapital. Sistem menentukan batas kata berdasarkan spasi dan mengubah karakter pertama setelah spasi menjadi kapital. Mode ini nyaman untuk bidang input nama depan, nama belakang, nama kota, jalan, dan bidang lain di mana setiap kata harus dimulai dengan huruf kapital.

Sentences — awal kalimat

Mode .sentences — paling umum dan digunakan secara default untuk sebagian besar bidang teks. Sistem membuat huruf kapital setelah titik, tanda seru, atau tanda tanya yang diikuti spasi. Mode ini ideal untuk bidang input catatan, pesan, komentar, dan teks multibaris lainnya.

All Characters — semua huruf kapital

Mode .allCharacters mengubah semua karakter yang dimasukkan menjadi huruf kapital. Mode ini setara dengan menekan Caps Lock secara terus-menerus dan digunakan untuk bidang di mana data harus dalam huruf kapital: kode pos, kode negara, singkatan, nomor pesanan. Harus digunakan dengan hati-hati karena teks dalam huruf kapital lebih sulit dibaca.

ModeDeskripsiContoh inputRekomendasi
.noneTanpa perubahanjohn@mail.comEmail, kata sandi, pencarian
.wordsSetiap kataBudi SantosoNama, alamat, kota
.sentencesAwal kalimatHalo. Apa kabar?Pesan, catatan
.allCharactersSemua kapitalABC-123Kode, indeks

Cara kerja huruf kapital otomatis

Mekanisme autokapitalisasi diaktifkan pada tahap pemrosesan penekanan tombol, sebelum karakter ditampilkan di layar. Saat pengguna menekan tombol, UITextInputTraits memeriksa posisi kursor saat ini dan menerapkan aturan konversi huruf kapital sesuai dengan autocapitalizationType yang ditetapkan.

Untuk mode .sentences sistem melacak karakter pemicu: titik (.), tanda seru (!), tanda tanya (?), serta karakter baris baru ( ) saat mode diaktifkan. Setelah mendeteksi karakter pemicu dan spasi berikutnya, sistem menetapkan bendera “menunggu huruf kapital” untuk karakter berikutnya yang dimasukkan.

Mode .words melacak karakter spasi sebagai pemicu. Setelah setiap spasi, sistem mengharapkan huruf kapital untuk kata berikutnya. Namun ada pengecualian: setelah tanda hubung, apostrof, dan tanda baca lain di dalam kata, huruf kapital tidak disisipkan. Misalnya, “O’Brien” tetap benar.

Fitur penting — autokapitalisasi hanya berfungsi untuk karakter pertama kata. Jika pengguna memasukkan kata yang mengandung huruf kapital di tengah (misalnya iPhone atau macOS), sistem tidak mengubahnya, karena konversi hanya diterapkan pada karakter pertama setelah pemicu. Ini berarti nama merek dan produk dengan huruf kapital tidak standar tidak akan rusak.

Kapan menonaktifkan autokapitalisasi

Autokapitalisasi harus dinonaktifkan di bidang di mana huruf besar/kecil penting untuk pemrosesan data yang benar. Kasus utama: bidang input alamat email, nama panggilan dan nama pengguna, kata sandi, kueri penelusuran, alamat URL, kode konfirmasi, IMEI, dan nomor seri. Dalam semua kasus ini, perubahan huruf kapital otomatis akan menyebabkan kesalahan saat pemrosesan di server.

Untuk bilah penelusuran (UISearchBar) autokapitalisasi dinonaktifkan secara default, sesuai dengan harapan pengguna. Kueri penelusuran dapat dimasukkan dalam huruf besar/kecil apa pun, dan server biasanya mengonversinya sendiri menjadi huruf kecil. Jika Anda mengaktifkan autokapitalisasi untuk penelusuran, pengguna harus setiap kali memperbaiki secara manual huruf kapital di awal kueri.

Di formulir pendaftaran bidang username atau nickname harus memiliki mode .none, karena banyak sistem membedakan huruf besar/kecil dalam nama pengguna. Bidang email juga harus tanpa autokapitalisasi — meskipun nama domain tidak sensitif terhadap huruf besar/kecil, bagian lokal email secara teoretis dapat membedakan huruf besar/kecil, meskipun dalam praktiknya jarang terjadi.

Menurut Apple Developer Documentation, bidang dengan secureTextEntry (kata sandi) secara otomatis mewarisi autocapitalizationType = .none, bahkan jika pengembang secara eksplisit menetapkan nilai lain. Sistem memiliki prioritas tertinggi untuk input yang dilindungi dan mengabaikan segala upaya untuk mengaktifkan autokapitalisasi untuk bidang kata sandi.

Contoh konfigurasi di Swift

Konfigurasi autokapitalisasi di Swift dilakukan melalui properti autocapitalizationType. Properti ini tersedia untuk UITextField, UITextView dan UISearchBar. Nilai dapat diatur baik dalam kode maupun melalui Interface Builder di inspector atribut, di mana mode disebut Capitalization.

swift
let nameField = UITextField()
nameField.autocapitalizationType = .words

let emailField = UITextField()
emailField.autocapitalizationType = .none

Untuk formulir kontak konfigurasikan setiap bidang sesuai semantiknya: nama — .words, email — .none, pesan — .sentences. Kombinasi ini memberikan pengalaman pengguna terbaik dan meminimalkan kebutuhan koreksi manual huruf kapital.

swift
class ContactFormViewController: UIViewController {

    @IBOutlet var nameField: UITextField!
    @IBOutlet var emailField: UITextField!
    @IBOutlet var messageView: UITextView!

    override func viewDidLoad() {
        super.viewDidLoad()
        nameField.autocapitalizationType = .words
        emailField.autocapitalizationType = .none
        messageView.autocapitalizationType = .sentences
    }
}

Untuk perubahan programatis mode saat runtime, gunakan delegasi UITextFieldDelegate. Misalnya, jika bidang dapat digunakan dalam konteks berbeda, ubah autocapitalizationType di metode textFieldDidBeginEditing tergantung pada mode kerja formulir saat ini.

swift
func textFieldDidBeginEditing(_ textField: UITextField) {
    if textField === codeField {
        textField.autocapitalizationType = .allCharacters
    }
}

Lokalisasi dan autokapitalisasi

Autokapitalisasi tergantung pada bahasa input yang diatur di papan ketik pengguna. Untuk berbagai bahasa, aturan konversi huruf kapital dapat berbeda. Misalnya, dalam bahasa Turki huruf “i” dalam huruf kapital menjadi “İ” (dengan titik), dan “I” dalam huruf kecil menjadi “ı” (tanpa titik). iOS secara otomatis memperhitungkan fitur-fitur ini.

Untuk bahasa Rusia autokapitalisasi bekerja dengan aturan yang sama seperti bahasa Inggris: huruf kapital setelah titik, di awal kalimat, dan setelah baris baru. Masalah dapat terjadi dengan huruf “jo” — meskipun ada dalam kamus sistem, tidak semua tata letak papan ketik menampilkannya di lapisan utama, dan autokapitalisasi dengan benar mengubahnya menjadi kapital.

Untuk bahasa Cina, Jepang, dan Korea autokapitalisasi tidak berlaku, karena bahasa-bahasa ini tidak memiliki konsep huruf besar/kecil. Mode autocapitalizationType diabaikan oleh sistem saat menggunakan papan ketik yang sesuai, dan bidang berperilaku sama seperti dalam mode .none, terlepas dari nilai yang ditetapkan.

Untuk bahasa Arab dan Ibrani autokapitalisasi juga tidak berlaku, karena bahasa-bahasa ini menggunakan sistem penulisan sendiri tanpa pembagian menjadi huruf kecil dan kapital. Sistem iOS dengan benar menentukan bahasa input dan mengabaikan pengaturan autokapitalisasi untuk bahasa di mana konsep ini tidak ada.

Pertanyaan yang sering diajukan

Bisakah mode autokapitalisasi diubah secara dinamis?

Ya, properti autocapitalizationType dapat diubah kapan saja, bahkan saat bidang sudah aktif. Perubahan akan berlaku saat karakter berikutnya dimasukkan.

Apakah secureTextEntry menonaktifkan autokapitalisasi?

Ya, untuk bidang dengan isSecureTextEntry = true sistem secara otomatis menetapkan autocapitalizationType = .none. Mengubah perilaku ini secara programatis tidak mungkin dilakukan.

Apakah autokapitalisasi berfungsi untuk UITextView?

Ya, UITextView sepenuhnya mendukung autocapitalizationType. Ini sangat berguna untuk bidang multibaris, di mana mode .sentences bekerja paling alami.

Bagaimana autokapitalisasi memengaruhi kata sandi?

Jika bidang tidak ditandai sebagai secureTextEntry tetapi digunakan untuk memasukkan kata sandi, autokapitalisasi dapat mengubah kata sandi. Selalu nonaktifkan di bidang di mana huruf besar/kecil penting.

Apakah ada perbedaan antara simulator dan perangkat?

Di simulator autokapitalisasi bekerja melalui papan ketik fisik Mac dan mungkin berperilaku berbeda. Uji pada perangkat nyata untuk perilaku yang benar.

Ringkasan

  • Autocapitalization — fungsi konversi otomatis karakter pertama menjadi kapital di bidang input iOS
  • Empat mode UITextAutocapitalizationType: none, words, sentences, allCharacters
  • Mode .sentences cocok untuk sebagian besar bidang, aktif setelah ., !, ? dan baris baru
  • Mode .none wajib untuk email, kata sandi, penelusuran, dan bidang sensitif huruf kapital
  • Mode .words optimal untuk bidang nama depan, nama belakang, kota, dan alamat
  • Lokalisasi — untuk bahasa Turki, aturan khusus huruf İ/ı diperhitungkan
  • Rekomendasi — konfigurasikan autokapitalisasi untuk setiap bidang sesuai semantiknya

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga