Autocorrection — esensya, mekanismo at UITextAutocorrectionType

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

Autocorrection ay isang built-in na mekanismo ng iOS na awtomatikong nagwawasto ng mga pagkakamali sa pagbaybay kapag naglalagay ng teksto. Pinamamahalaan ng UIKit ang pag-uugali ng autocorrection sa pamamagitan ng property na autocorrectionType sa protocol na UITextInputTraits, na sumusuporta sa tatlong mode: default, naka-on, at naka-off. Ayon sa Apple Text Programming Guide (2025), sinusuri ng autocorrection ang inilagay na teksto batay sa system dictionary at machine learning sa device. Gamitin ang autocorrectionType para sa bawat text field nang hiwalay — pinapayagan nito na iakma ang pag-uugali sa mga detalye ng inilalagay na data.

Mga pangunahing punto

  • Autocorrection — mekanismo ng system ng iOS para sa awtomatikong pagwawasto ng mga pagkakamali sa pagbaybay habang nagta-type
  • UITextAutocorrectionType sumusuporta sa tatlong mode: .default, .yes at .no para sa bawat field nang indibidwal
  • Diksyonaryo ng autocorrection ay binuo batay sa system dictionary ng iOS at modelong pangwika na sinanay sa device
  • Safe Keyboard — ligtas na keyboard na nag-aalis ng autocorrection para sa mga field ng password at pinansiyal na data
  • Lokalisasyon — gumagana ang autocorrection para sa lahat ng suportadong wika ng keyboard, kabilang ang mga karagdagang layout

Ano ang Autocorrection?

Autocorrection (autocorrection) ay isang function ng operating system na iOS na awtomatikong nagpapalit ng mga inilagay na salita ng mga posibleng wastong variant kapag may nakitang pagkakamali sa pagbaybay. Gumagana ang mekanismo sa antas ng mga text field ng UIKit at magagamit sa lahat ng app na gumagamit ng mga karaniwang elemento ng input na UITextField at UITextView.

Sa puso ng autocorrection ay isang modelong pangwika na sinanay sa milyun-milyong halimbawa ng teksto para sa bawat suportadong wika. Ang modelo ay gumagana nang buo sa device (on-device), na ginagarantiyahan ang pagiging kumpidensyal ng inilagay na data — ang teksto ay hindi ipinapadala sa mga server ng Apple para sa pagsusuri. Sa bawat pag-update ng iOS, ang modelo ay pinipino at pinalalawak ng mga bagong salita at panuntunan.

Ang autocorrection ay awtomatikong na-activate para sa lahat ng text field, maliban kung ito ay tahasang inalis ng developer. Maaaring ganap na alisin ng user ang autocorrection sa mga setting ng system (Mga Setting > Pangkalahatan > Keyboard > Autocorrection), ngunit maaari ring pamahalaan ng developer ang pag-uugaling ito para sa mga indibidwal na field sa pamamagitan ng property na autocorrectionType.

Ayon sa WWDC 2023 Session 204, ipinakilala ng Apple ang isang pinahusay na modelong pangwika ng autocorrection batay sa Transformer, na isinasaalang-alang ang konteksto ng buong pangungusap, hindi lamang ang huling salita. Ito ay nagpababa ng bilang ng mga maling pagwawasto ng 30% kumpara sa nakaraang modelo batay sa n-gram.

Mga mode ng autocorrection sa iOS

UITextAutocorrectionType ay isang enumeration na may tatlong halaga na tumutukoy sa pag-uugali ng autocorrection para sa isang partikular na text field. Ang bawat halaga ay itinakda sa pamamagitan ng property na autocorrectionType, na available sa Interface Builder at sa code kapag lumilikha ng field.

Mode .default

Ang halagang .default ay nangangahulugang ang field ay nagmamana ng pandaigdigang setting ng autocorrection mula sa mga parameter ng system keyboard. Ang mode na ito ay inirerekomenda para sa karamihan ng mga text field, dahil iginagalang nito ang pagpili ng user. Kung inalis ng user ang autocorrection sa mga setting, ang field na may .default ay hindi rin ito gagamitin.

Mode .yes

Ang halagang .yes ay pilit na binubuksan ang autocorrection para sa field anuman ang setting ng system. Ang mode na ito ay dapat lamang gamitin para sa mga field kung saan kritikal ang katumpakan ng pagbaybay — halimbawa, sa mga text editor, field ng tala o mensahe. Inirerekomenda ng Apple na gamitin ang .yes nang may pag-iingat, dahil ang sapilitang pag-activate ay maaaring sumalungat sa mga inaasahan ng user.

Mode .no

Ang halagang .no ay nag-aalis ng autocorrection para sa isang partikular na field. Ang mode na ito ay sapilitan para sa mga field ng password (secure text entry), mga email address, mga confirmation code, at mga query sa paghahanap. Sa mga field na ito, ang autocorrection ay hindi lamang walang silbi, kundi nakakapinsala — maaari nitong palitan ang tamang inilagay na data ng mga mali.

ModeHalagaRekomendasyon
.defaultNagmamana ng setting ng systemKaramihan sa mga input field
.yesSapilitang naka-onMga text editor, tala
.noSapilitang naka-offPassword, email, paghahanap, code

Modelong pangwika at diksyunaryo

Ang modelong pangwika ng autocorrection ng iOS ay gumagamit ng kombinasyon ng static na diksyunaryo at isang dinamikong natutunang modelo. Ang system dictionary ay naglalaman ng mga pinakamadalas gamitin na salita para sa bawat wika, at ang modelong pangwika batay sa Transformer ay sinusuri ang konteksto at posibilidad ng pagpapalit. Ang modelo ay natututo sa device batay sa mga tekstong inilalagay ng user.

Maaaring magdagdag ng mga salita ang user sa personal na diksyunaryo sa pamamagitan ng mga setting ng keyboard (Mga Setting > Pangkalahatan > Keyboard > Pagpapalit ng Teksto). Ang mga idinagdag na salita ay nai-save sa iCloud at naka-sync sa pagitan ng mga device sa pamamagitan ng parehong Apple ID. Hindi itatama ng system ang mga salita mula sa personal na diksyunaryo, na maginhawa para sa mga pangalan, tatak, at teknikal na termino.

Para sa mga partikular na domain — medikal, legal, teknikal — ang karaniwang diksyunaryo ay maaaring hindi naglalaman ng sapat na termino. Sa mga ganitong app, inirerekomenda na alisin ang autocorrection para sa mga nauugnay na field o gumamit ng custom na pagpapalit ng teksto sa pamamagitan ng UIResponder method na .replacementDictionary para sa iOS 17+.

Ayon sa Apple Machine Learning Research (2024), ang bagong modelo ng autocorrection batay sa arkitekturang Transformer ay nagpoproseso ng hanggang 10 token ng konteksto (kumpara sa 3 token sa nakaraang modelo), na nagbibigay-daan sa mas tumpak na pagtukoy ng intensyon ng user. Isinasaalang-alang ng modelo hindi lamang ang pagbaybay, kundi pati na rin ang gramatikal na istruktura ng pangungusap.

Safe Keyboard at kumpidensyal na data

Safe Keyboard ay isang secure na mode ng input na awtomatikong na-activate para sa mga field na may secureTextEntry = true. Sa mode na ito, ang autocorrection, auto-capitalization, at predictive input ay inaalis ng system anuman ang itinakdang halaga ng autocorrectionType. Hinaharangan din ng system ang access sa personal na diksyunaryo at pagpapalit ng teksto.

Pinipigilan ng Safe Keyboard ang pagtagas ng inilagay na data sa pamamagitan ng mga mekanismo ng autocorrection. Kung aktibo ang autocorrection para sa isang field ng password, maaaring i-save ng system ang inilagay na password sa personal na diksyunaryo o ipadala ito sa mga server ng Apple para sa pagsasanay ng modelo. Ginagarantiyahan ng Safe Keyboard na ang kumpidensyal na data ay hindi lumalabas sa mga hangganan ng app.

Para sa mga financial app, ang Safe Keyboard ay awtomatikong na-activate lamang para sa mga field na may secureTextEntry. Para sa mga field ng numero ng card, petsa ng expiry, at CVV code, dapat manu-manong alisin ng developer ang autocorrection sa pamamagitan ng pagtatakda ng autocorrectionType = .no at keyboardType = .numberPad o .phonePad.

Mula sa iOS 17, sinusuportahan ng Safe Keyboard ang proteksyon laban sa panghihimasok sa pamamagitan ng mga third-party na keyboard. Kung nag-install ang user ng keyboard mula sa App Store, kapag na-activate ang secureTextEntry, awtomatikong pinapalitan ng system keyboard ang third-party na keyboard, kahit na ito ay napili bilang default. Tinitiyak nito na ang mga password ay inilalagay lamang sa pamamagitan ng secure na system keyboard.

Pag-configure sa pamamagitan ng Swift code

Ang pamamahala ng autocorrection sa Swift ay ginagawa sa pamamagitan ng property na autocorrectionType ng mga object na UITextField at UITextView. Ang property ay available para sa parehong pagbasa at pagsulat at maaaring baguhin nang dynamic depende sa konteksto ng input. Ang pag-configure sa pamamagitan ng Interface Builder ay available sa attribute inspector sa ilalim ng pangalang Correction.

swift
let textField = UITextField()
textField.autocorrectionType = .no

Para sa login form, ang autocorrection ay dapat alisin para sa field ng password at iwanang naka-default para sa field ng login. Ang field ng email ay inirerekomenda ring iwanang walang autocorrection, dahil ang simbolong @ at mga domain name ay madalas na maling napapalitan. Para sa field ng username, ang autocorrection ay maaaring i-on kung ang username ay isang nababasang salita.

swift
class RegistrationViewController: UIViewController {

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

    override func viewDidLoad() {
        super.viewDidLoad()
        nameField.autocorrectionType = .yes
        emailField.autocorrectionType = .no
        emailField.textContentType = .emailAddress
    }
}

Para sa UITextView ang pag-configure ng autocorrection ay ginagawa nang katulad. Ito ay lalong mahalaga para sa mga multi-line na field ng komento, mensahe, at tala, kung saan ang autocorrection ay nagdudulot ng pinakamalaking benepisyo, ngunit maaari ring lumikha ng abala kapag naglalagay ng mga teknikal na termino o code.

swift
let textView = UITextView()
textView.autocorrectionType = .default

Para sa dynamic na pagbabago ng autocorrection, gamitin ang delegado na UITextFieldDelegate. Ang pamamaraang textFieldDidBeginEditing ay tinatawag kapag na-activate ang field at dito maaaring baguhin ang autocorrectionType depende sa kasalukuyang konteksto o papel ng field, na maaaring magbago sa panahon ng operasyon ng app.

Kailan aalisin ang autocorrection

Ang autocorrection ay dapat alisin sa mga field kung saan ang katumpakan ng inilagay na data ay kritikal at hindi matukoy nang tama ng system ang intensyon ng user. Mga pangunahing kaso: mga field ng password at secure na data, mga field ng email address, mga search bar, mga field ng code at programming code, pati na rin ang mga field na may hindi karaniwang format ng data.

Para sa mga search bar (UISearchBar) ang autocorrection ay naka-off bilang default, na naaayon sa mga inaasahan ng user. Kapag naghahanap, maaaring maglagay ang user ng hindi kumpletong salita, teknikal na termino, o query sa iba't ibang wika, at ang autocorrection ay makakasagabal lamang. Katulad para sa mga field ng URL at domain name.

Sa mga messenger at komunikasyon app, ang autocorrection ay karaniwang naka-on, ngunit kapag naglalagay ng slang, daglat, at impormal na bokabularyo ay maaaring lumikha ng abala. Sa mga ganitong kaso, maaaring alisin ng user ang autocorrection sa pamamagitan ng mga setting ng keyboard, o ang developer ay maaaring magbigay ng switch nang direkta sa interface ng app.

Ayon sa Human Interface Guidelines ng Apple, ang autocorrection ay dapat alisin para sa anumang field kung saan ang inilagay na data ay maaaring hindi matagpuan sa system dictionary: mga numero ng order, code ng reserbasyon, mga identifier, IMEI, MAC address. Kung ang field ay tumatanggap ng alphanumeric na data sa hindi karaniwang format — alisin ang autocorrection.

Mga madalas itanong

Paano ganap na alisin ang autocorrection sa buong app?

Walang pandaigdigang pag-alis ng autocorrection para sa isang app. Kailangan mong itakda ang autocorrectionType = .no para sa bawat text field nang hiwalay o lumikha ng isang subclass ng UITextField na may override na halaga.

Bakit hindi gumagana ang autocorrection sa simulator?

Ang simulator ay gumagamit ng pinasimpleng modelo ng input mula sa Mac keyboard. Ang modelong pangwika ng autocorrection ay hindi aktibo sa simulator — para sa pagsubok gumamit ng totoong device.

Paano magdagdag ng salita sa personal na diksyunaryo?

Maaaring magdagdag ang user ng salita sa pamamagitan ng Mga Setting > Pangkalahatan > Keyboard > Pagpapalit ng Teksto. Walang API para sa app upang magdagdag ng mga salita nang programmatically sa system dictionary ng autocorrection.

Inaalis ba ng pagtatakda ng keyboardType ang autocorrection?

Hindi, ang keyboardType ay hindi nakakaapekto sa autocorrection. Kahit para sa .numberPad keyboard, ang autocorrection ay maaaring aktibo, kung hindi ito tahasang inalis sa pamamagitan ng autocorrectionType.

Gumagana ba ang autocorrection para sa mga third-party na keyboard?

Ang mga third-party na keyboard ay may sariling mga mekanismo ng autocorrection at hindi gumagamit ng system na UITextAutocorrectionType. Ang pag-uugali ay depende sa pagpapatupad ng partikular na keyboard.

Buod

  • Autocorrection — function ng system ng iOS para sa awtomatikong pagwawasto ng mga pagkakamali sa pagbaybay sa mga text field
  • Tatlong mode UITextAutocorrectionType: .default (nagmamana ng mga setting), .yes (naka-on), .no (naka-off)
  • Transformer modelong pangwika nagpoproseso ng hanggang 10 token ng konteksto at gumagana nang buo sa device
  • Safe Keyboard awtomatikong nag-aalis ng autocorrection para sa mga field na may secureTextEntry = true
  • Walang silbi ang autocorrection para sa mga field ng password, email, code, paghahanap at hindi karaniwang format ng data
  • Ang pag-configure ay ginagawa sa pamamagitan ng property na autocorrectionType para sa bawat field nang indibidwal
  • Rekomendasyon — subukan ang pag-uugali ng autocorrection sa isang totoong device na may aktibong modelong pangwika

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