Autocapitalization: ano ito, mga uri at UITextAutocapitalizationType

May-akda: IT Sectr Nai-publish: 2026-07-08 Oras ng pagbabasa: 7 min

Autocapitalization — ay isang mekanismo ng iOS na awtomatikong nagko-convert ng unang titik ng inilagay na teksto sa malaking titik sa mga partikular na konteksto. Ang UIKit ay nagbibigay ng property na autocapitalizationType sa protocol na UITextInputTraits na may apat na mode: none, words, sentences at allCharacters. Ayon sa Apple Text Programming Guide (2025), ang tamang configuration ng autokapitalisasyon ay nagpapabuti sa karanasan ng gumagamit at nagbabawas ng bilang ng mga manu-manong pagwawasto habang nagta-type. Gamitin ang mode na sentences para sa karamihan ng mga text field at none para sa mga username at password.

Mga pangunahing punto

  • Autocapitalization — awtomatikong pag-convert ng unang titik sa malaking titik sa mga input field ng UIKit
  • UITextAutocapitalizationType ay may kasamang apat na mode: none, words, sentences at allCharacters
  • Mode na sentences — pinakakaraniwan, ginagawang malaking titik ang unang titik ng bawat pangungusap
  • Mode na words — ginagawang malaking titik ang unang titik ng bawat salita, maginhawa para sa mga field ng pangalan at apelyido
  • Mode na none — sapilitan para sa mga field ng password, email, mga query sa paghahanap at mga code ng kumpirmasyon

Ano ang Autocapitalization?

Autocapitalization (autokapitalisasyon) — ay isang function ng iOS operating system na awtomatikong nagko-convert ng unang character ng teksto sa malaking titik kapag nangyari ang mga partikular na kundisyon. Ang mekanismo ay kinokontrol sa pamamagitan ng property na autocapitalizationType, na available para sa lahat ng elementong nagpapatupad ng protocol na UITextInputTraits: UITextField, UITextView at UISearchBar.

Ang function ay gumagana sa antas ng text engine ng iOS at na-activate sa sandali ng pagpasok ng bawat character. Sinusuri ng system ang posisyon ng cursor at ang nakapaligid na teksto upang matukoy kung ang kasalukuyang inilalagay na character ay dapat i-convert sa malaking titik. Kung natugunan ang kundisyon, awtomatikong pinapalitan ng iOS ang maliit na titik ng malaking titik bago ito maipakita sa field.

Ayon sa Apple Human Interface Guidelines (2025), ang autokapitalisasyon ay bahagi ng mas malawak na sistema ng predictive input na kasama rin ang autocorrection at predictive na pag-type. Maaaring huwag paganahin ng gumagamit ang lahat ng mga function na ito nang global sa mga setting ng system (Mga Setting > Pangkalahatan > Keyboard), ngunit pinamamahalaan din sila ng developer sa antas ng mga partikular na field.

Hindi tulad ng autocorrection, ang autokapitalisasyon ay hindi gumagamit ng modelo ng wika — ito ay gumagana ayon sa mga simpleng panuntunan: pagkatapos ng tuldok at espasyo, sa simula ng teksto, pagkatapos ng bagong linya na character. Ang exception ay ang mode na words, kung saan ang unang titik ng bawat salita ay nagiging malaking titik, anuman ang konteksto.

Mga mode ng autokapitalisasyon

UITextAutocapitalizationType — ay isang enumeration ng apat na halaga na tumutukoy sa diskarte ng awtomatikong pag-convert ng malalaking titik. Ang bawat mode ay inilaan para sa isang partikular na uri ng text field at nilulutas ang isang tiyak na gawain ng karanasan ng gumagamit.

None — walang autokapitalisasyon

Ang mode na .none ay ganap na huwag pinapagana ang awtomatikong pag-convert ng malalaking titik. Lahat ng character ay ipinasok sa parehong malaki/maliit na titik na kung saan nai-type ng gumagamit. Ang mode na ito ay sapilitan para sa mga field ng password, mga email address, mga palayaw, mga query sa paghahanap at anumang field kung saan mahalaga ang malaki/maliit na titik para sa pagproseso ng data sa server.

Words — bawat salita na may malaking titik

Ang mode na .words ay ginagawang malaking titik ang unang titik ng bawat inilagay na salita. Tinutukoy ng system ang hangganan ng salita pagkatapos ng espasyo at kino-convert ang unang character pagkatapos ng espasyo sa malaking titik. Ang mode ay maginhawa para sa mga field ng pangalan, apelyido, mga pangalan ng lungsod, mga kalye at iba pang field kung saan ang bawat salita ay dapat magsimula sa malaking titik.

Sentences — simula ng pangungusap

Ang mode na .sentences — pinakakaraniwan at ginagamit bilang default para sa karamihan ng mga text field. Ginagawang malaking titik ng system ang unang titik pagkatapos ng tuldok, tandang padamdam o tandang pananong na sinusundan ng espasyo. Ang mode ay perpekto para sa mga field ng pagpasok ng mga tala, mensahe, komento at iba pang multiline na teksto.

All Characters — lahat ng malaking titik

Ang mode na .allCharacters ay nagko-convert ng lahat ng inilagay na character sa malaking titik. Ang mode na ito ay katumbas ng patuloy na pagpindot sa Caps Lock at ginagamit para sa mga field kung saan ang data ay dapat nasa malaking titik: mga postal code, mga code ng bansa, mga daglat, mga numero ng order. Dapat gamitin nang may pag-iingat dahil ang teksto sa malaking titik ay mas mahirap basahin.

ModePaglalarawanHalimbawa ng inputRekomendasyon
.noneWalang pagbabagojohn@mail.comEmail, password, paghahanap
.wordsBawat salitaJuan SantosPangalan, address, lungsod
.sentencesSimula ng pangungusapKamusta. Ano ang ginagawa mo?Mga mensahe, tala
.allCharactersLahat ng malaking titikABC-123Mga code, index

Paano gumagana ang awtomatikong malaking titik

Ang mekanismo ng autokapitalisasyon ay na-activate sa yugto ng pagproseso ng pagpindot ng key, bago maipakita ang character sa screen. Kapag pinindot ng gumagamit ang isang key, sinusuri ng UITextInputTraits ang kasalukuyang posisyon ng cursor at inilalapat ang panuntunan ng pag-convert ng malalaking titik ayon sa itinakdang autocapitalizationType.

Para sa mode na .sentences sinusubaybayan ng system ang mga trigger na character: tuldok (.), tandang padamdam (!), tandang pananong (?), pati na rin ang bagong linya na character ( ) kapag naka-on ang mode. Pagkatapos matukoy ang trigger na character at ang kasunod na espasyo, nagtatakda ang system ng bandila na “pag-asa ng malaking titik” para sa susunod na inilagay na character.

Ang mode na .words ay sinusubaybayan ang character na espasyo bilang trigger. Pagkatapos ng bawat espasyo, inaasahan ng system ang isang malaking titik para sa susunod na salita. Gayunpaman, may mga exception: pagkatapos ng gitling, apostrophe at iba pang mga bantas sa loob ng salita, hindi ipinapasok ang malaking titik. Halimbawa, “O’Brien” ay nananatiling tama.

Isang mahalagang feature — ang autokapitalisasyon ay gumagana lamang para sa unang character ng salita. Kung ang gumagamit ay nagpasok ng isang salita na naglalaman ng malaking titik sa gitna (halimbawa, iPhone o macOS), hindi ito binabago ng system, dahil ang conversion ay inilalapat lamang sa unang character pagkatapos ng trigger. Nangangahulugan ito na ang mga pangalan ng brand at produkto na may hindi karaniwang malaki/maliit na titik ay hindi masisira.

Kailan huwag paganahin ang autokapitalisasyon

Ang autokapitalisasyon ay dapat huwag paganahin sa mga field kung saan mahalaga ang malaki/maliit na titik para sa tamang pagproseso ng data. Mga pangunahing kaso: mga field ng email address, mga palayaw at username, password, mga query sa paghahanap, mga URL address, mga code ng kumpirmasyon, IMEI at mga serial number. Sa lahat ng kasong ito, ang awtomatikong pagbabago ng malaki/maliit na titik ay hahantong sa mga error sa pagproseso sa server.

Para sa mga bar ng paghahanap (UISearchBar) ang autokapitalisasyon ay hindi pinagana bilang default, na tumutugma sa mga inaasahan ng mga gumagamit. Ang isang query sa paghahanap ay maaaring ipasok sa anumang malaki/maliit na titik, at ang server ay karaniwang nagko-convert nito sa maliit na titik. Kung pinagana mo ang autokapitalisasyon para sa paghahanap, ang gumagamit ay kailangang manu-manong itama ang malaking titik sa simula ng query sa bawat oras.

Sa mga form ng pagpaparehistro ang field na username o nickname ay dapat may mode na .none, dahil maraming system ang nakikilala ang malaki/maliit na titik sa mga username. Ang field ng email ay dapat ding walang autokapitalisasyon — kahit na ang mga domain name ay hindi sensitibo sa malaki/maliit na titik, ang lokal na bahagi ng email ay maaaring theoretically makilala ang malaki/maliit na titik, kahit na sa pagsasagawa ito ay bihirang mangyari.

Ayon sa Apple Developer Documentation, ang mga field na may secureTextEntry (mga password) ay awtomatikong nagmamana ng autocapitalizationType = .none, kahit na ang developer ay tahasang nagtakda ng ibang halaga. Ang system ay may pinakamataas na priyoridad para sa protektadong input at hindi pinapansin ang anumang pagtatangka na paganahin ang autokapitalisasyon para sa isang field ng password.

Mga halimbawa ng configuration sa Swift

Ang configuration ng autokapitalisasyon sa Swift ay ginagawa sa pamamagitan ng property na autocapitalizationType. Ang property ay available para sa UITextField, UITextView at UISearchBar. Ang halaga ay maaaring itakda kapwa sa code at sa pamamagitan ng Interface Builder sa inspector ng attribute, kung saan ang mode ay tinatawag na Capitalization.

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

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

Para sa isang contact form i-configure ang bawat field ayon sa semantika nito: pangalan — .words, email — .none, mensahe — .sentences. Ang ganitong kombinasyon ay nagbibigay ng pinakamahusay na karanasan ng gumagamit at pinapaliit ang pangangailangan para sa manu-manong pagwawasto ng malaki/maliit na titik.

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
    }
}

Para sa programmatic na pagbabago ng mode sa runtime, gamitin ang delegado na UITextFieldDelegate. Halimbawa, kung ang isang field ay maaaring gamitin sa iba’t ibang konteksto, baguhin ang autocapitalizationType sa pamamaraang textFieldDidBeginEditing depende sa kasalukuyang mode ng trabaho ng form.

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

Lokalisasyon at autokapitalisasyon

Ang autokapitalisasyon ay depende sa input language na nakatakda sa keyboard ng gumagamit. Para sa iba’t ibang wika, ang mga panuntunan ng pag-convert ng malalaking titik ay maaaring magkaiba. Halimbawa, sa wikang Turkish ang titik na “i” sa malaking titik ay nagiging “İ” (na may tuldok), at “I” sa maliit na titik ay nagiging “ı” (walang tuldok). Awtomatikong isinasaalang-alang ng iOS ang mga feature na ito.

Para sa wikang Ruso ang autokapitalisasyon ay gumagana ayon sa parehong mga panuntunan tulad ng Ingles: malaking titik pagkatapos ng tuldok, sa simula ng pangungusap at pagkatapos ng bagong linya. Maaaring magkaroon ng mga problema sa titik na “jo” — kahit na ito ay nasa diksyunaryo ng system, hindi lahat ng layout ng keyboard ay nagpapakita nito sa pangunahing layer, at ang autokapitalisasyon ay wastong nagko-convert nito sa malaking titik.

Para sa mga wikang Chinese, Japanese at Korean ang autokapitalisasyon ay hindi inilalapat, dahil ang mga wikang ito ay walang konsepto ng malaki/maliit na titik. Ang mode na autocapitalizationType ay hindi pinapansin ng system kapag gumagamit ng mga kaukulang keyboard, at ang field ay kumikilos tulad ng sa mode na .none, anuman ang itinakdang halaga.

Para sa wikang Arabic at Hebrew ang autokapitalisasyon ay hindi rin inilalapat, dahil ang mga wikang ito ay gumagamit ng kanilang sariling sistema ng pagsulat nang walang paghahati sa maliit at malaking titik. Tamang tinutukoy ng iOS system ang input language at hindi pinapansin ang mga setting ng autokapitalisasyon para sa mga wikang wala ang konseptong ito.

Mga madalas itanong

Maaari bang baguhin nang dynamic ang mode ng autokapitalisasyon?

Oo, ang property na autocapitalizationType ay maaaring baguhin anumang oras, kahit na aktibo na ang field. Ang pagbabago ay magkakabisa sa susunod na pagpasok ng character.

Hindi ba pinapagana ng secureTextEntry ang autokapitalisasyon?

Oo, para sa mga field na may isSecureTextEntry = true awtomatikong nagtatakda ang system ng autocapitalizationType = .none. Ang pagbabago ng gawi na ito nang programmatic ay hindi posible.

Gumagana ba ang autokapitalisasyon para sa UITextView?

Oo, ang UITextView ay ganap na sumusuporta sa autocapitalizationType. Ito ay lalong kapaki-pakinabang para sa mga multiline field, kung saan ang mode na .sentences ay gumagana nang pinaka natural.

Paano nakakaapekto ang autokapitalisasyon sa isang password?

Kung ang isang field ay hindi minarkahan bilang secureTextEntry ngunit ginagamit para sa pagpasok ng password, ang autokapitalisasyon ay maaaring magbago ng password. Palaging huwag itong paganahin sa mga field kung saan mahalaga ang malaki/maliit na titik.

May pagkakaiba ba sa pagitan ng simulator at device?

Sa simulator ang autokapitalisasyon ay gumagana sa pamamagitan ng pisikal na keyboard ng Mac at maaaring kumilos nang iba. Subukan sa isang tunay na device para sa tamang gawi.

Buod

  • Autocapitalization — function ng awtomatikong pag-convert ng unang character sa malaking titik sa mga input field ng iOS
  • Apat na mode UITextAutocapitalizationType: none, words, sentences, allCharacters
  • Mode na .sentences angkop para sa karamihan ng mga field, naa-activate pagkatapos ng ., !, ? at bagong linya
  • Mode na .none sapilitan para sa email, password, paghahanap at mga field na sensitibo sa malaki/maliit na titik
  • Mode na .words optimal para sa mga field ng pangalan, apelyido, lungsod at address
  • Lokalisasyon — para sa wikang Turkish, ang espesyal na panuntunan ng titik İ/ı ay isinasaalang-alang
  • Rekomendasyon — i-configure ang autokapitalisasyon para sa bawat field ayon sa semantika nito

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din