Autocapitalization: mi ez, típusai és UITextAutocapitalizationType

Szerző: IT Sectr Megjelenés: 2026-07-08 Olvasási idő: 7 perc

Autocapitalization — egy iOS mechanizmus, amely automatikusan nagybetűvé alakítja a bevitt szöveg első betűjét bizonyos kontextusokban. Az UIKit a autocapitalizationType tulajdonságot biztosítja a UITextInputTraits protokollban négy móddal: none, words, sentences és allCharacters. Az Apple Text Programming Guide (2025) szerint az automatikus nagybetűsítés megfelelő beállítása javítja a felhasználói élményt és csökkenti a kézi javítások számát gépeléskor. Használja a sentences módot a legtöbb szövegmezőhöz és a none módot a felhasználónevekhez és jelszavakhoz.

Főbb pontok

  • Autocapitalization — az első betű automatikus nagybetűvé alakítása az UIKit beviteli mezőkben
  • UITextAutocapitalizationType négy módot foglal magában: none, words, sentences és allCharacters
  • Sentences mód — a leggyakoribb, minden mondat első betűjét nagybetűvé teszi
  • Words mód — minden szó első betűjét nagybetűvé teszi, kényelmes a kereszt- és vezetéknév mezőkhöz
  • None mód — kötelező a jelszó, e-mail, keresési lekérdezések és megerősítő kódok mezőihez

Mi az Autocapitalization?

Autocapitalization (automatikus nagybetűsítés) — az iOS operációs rendszer egy funkciója, amely automatikusan nagybetűvé alakítja a szöveg első karakterét bizonyos feltételek bekövetkeztekor. A mechanizmust az autocapitalizationType tulajdonság vezérli, amely minden UITextInputTraits protokollt implementáló elem számára elérhető: UITextField, UITextView és UISearchBar.

A funkció az iOS szövegmotor szintjén működik, és minden karakter bevitelének pillanatában aktiválódik. A rendszer elemzi a kurzor pozícióját és a környező szöveget, hogy meghatározza, az aktuálisan bevitt karaktert nagybetűvé kell-e alakítani. Ha a feltétel teljesül, az iOS automatikusan lecseréli a kisbetűt nagybetűre, mielőtt az megjelenne a mezőben.

Az Apple Human Interface Guidelines (2025) szerint az automatikus nagybetűsítés egy tágabb prediktív beviteli rendszer része, amely magában foglalja az automatikus javítást és a prediktív gépelést is. A felhasználó ezeket a funkciókat globálisan kikapcsolhatja a rendszerbeállításokban (Beállítások > Általános > Billentyűzet), de a fejlesztő is kezeli őket az egyes mezők szintjén.

Az automatikus javítással ellentétben az automatikus nagybetűsítés nem használ nyelvi modellt — egyszerű szabályok szerint működik: pont és szóköz után, a szöveg elején, újsor karakter után. Kivétel a words mód, ahol minden szó első betűje nagybetűvé válik, kontextustól függetlenül.

Automatikus nagybetűsítés módjai

UITextAutocapitalizationType — négy érték felsorolása, amelyek meghatározzák az automatikus nagybetűsítés stratégiáját. Minden mód egy adott típusú szövegmezőhöz készült és a felhasználói élmény egy konkrét feladatát oldja meg.

None — automatikus nagybetűsítés nélkül

A .none mód teljesen kikapcsolja az automatikus nagybetűsítést. Minden karakter abban a kis- és nagybetűs formában kerül bevitelre, ahogy a felhasználó gépeli. Ez a mód kötelező a jelszómezőkhöz, e-mail címekhez, becenevekhez, keresési lekérdezésekhez és minden olyan mezőhöz, ahol a kis- és nagybetűk számítanak a szerveren történő adatfeldolgozásnál.

Words — minden szó nagybetűvel

A .words mód minden bevitt szó első betűjét nagybetűvé teszi. A rendszer a szóhatárt szóköz alapján határozza meg, és a szóköz utáni első karaktert nagybetűvé alakítja. A mód kényelmes keresztnév, vezetéknév, városnevek, utcanevek és más olyan mezők beviteléhez, ahol minden szónak nagybetűvel kell kezdődnie.

Sentences — mondat eleje

A .sentences mód — a leggyakoribb, és alapértelmezetten használatos a legtöbb szövegmezőhöz. A rendszer nagybetűvé teszi az első betűt pont, felkiáltójel vagy kérdőjel után, amelyet szóköz követ. A mód ideális jegyzetek, üzenetek, megjegyzések és más többsoros szövegek beviteléhez.

All Characters — minden nagybetű

A .allCharacters mód minden bevitt karaktert nagybetűvé alakít. Ez a mód egyenértékű a Caps Lock folyamatos lenyomásával, és olyan mezőkhöz használatos, ahol az adatoknak nagybetűvel kell íródniuk: irányítószámok, országkódok, rövidítések, rendelésszámok. Óvatosan kell alkalmazni, mivel a nagybetűvel írt szöveget nehezebb olvasni.

MódLeírásBeviteli példaJavaslat
.noneNincs változásjohn@mail.comE-mail, jelszavak, keresés
.wordsMinden szóNagy PéterNév, cím, város
.sentencesMondat elejeSzia. Hogy vagy?Üzenetek, jegyzetek
.allCharactersMinden nagybetűABC-123Kódok, indexek

Hogyan működik az automatikus nagybetű

Az automatikus nagybetűsítés mechanizmusa a billentyűlenyomás feldolgozásának szakaszában aktiválódik, még mielőtt a karakter megjelenne a képernyőn. Amikor a felhasználó megnyom egy billentyűt, a UITextInputTraits ellenőrzi a kurzor aktuális pozícióját, és alkalmazza a kis- és nagybetűs átalakítás szabályát a beállított autocapitalizationType szerint.

A .sentences módhoz a rendszer trigger karaktereket követ: pont (.), felkiáltójel (!), kérdőjel (?), valamint az újsor karaktert ( ) bekapcsolt mód esetén. A trigger karakter és az azt követő szóköz észlelése után a rendszer beállít egy „nagybetű várakozás” jelzőt a következő bevitt karakter számára.

A .words mód a szóköz karaktert követi triggermódként. Minden szóköz után a rendszer nagybetűt vár a következő szóhoz. Vannak azonban kivételek: kötőjel, aposztróf és más írásjelek után a szón belül nem kerül be nagybetű. Például „O’Brien” helyes marad.

Fontos jellemző — az automatikus nagybetűsítés csak a szó első karakterére működik. Ha a felhasználó olyan szót ír be, amely nagybetűket tartalmaz a közepén (például iPhone vagy macOS), a rendszer nem változtatja meg őket, mivel az átalakítás csak a trigger utáni első karakterre vonatkozik. Ez azt jelenti, hogy a nem szabványos kis- és nagybetűzésű márka- és terméknevek nem sérülnek.

Mikor kapcsoljuk ki az automatikus nagybetűsítést

Az automatikus nagybetűsítést ki kell kapcsolni azokban a mezőkben, ahol a kis- és nagybetűk számítanak az adatok helyes feldolgozásához. Főbb esetek: e-mail címek, becenevek és felhasználónevek, jelszavak, keresési lekérdezések, URL címek, megerősítő kódok, IMEI és sorozatszámok mezői. Mindezekben az esetekben a kis- és nagybetűk automatikus megváltoztatása hibákhoz vezet a szerveren történő feldolgozás során.

Keresősávokhoz (UISearchBar) az automatikus nagybetűsítés alapértelmezetten ki van kapcsolva, ami megfelel a felhasználók elvárásainak. A keresési lekérdezés bármilyen kis- és nagybetűs formában beírható, és a szerver általában maga alakítja kisbetűssé. Ha bekapcsolja az automatikus nagybetűsítést a kereséshez, a felhasználónak minden alkalommal kézzel kell javítania a nagybetűt a lekérdezés elején.

Regisztrációs űrlapokban a username vagy nickname mezőnek .none móddal kell rendelkeznie, mivel sok rendszer megkülönbözteti a kis- és nagybetűket a felhasználónevekben. Az e-mail mezőnek is automatikus nagybetűsítés nélkül kell lennie — bár a domain nevek nem érzékenyek a kis- és nagybetűkre, az e-mail helyi része elméletileg megkülönböztetheti a kis- és nagybetűket, bár a gyakorlatban ez ritkán fordul elő.

Az Apple Developer Documentation szerint a secureTextEntry (jelszavak) mezők automatikusan öröklik az autocapitalizationType = .none értéket, még akkor is, ha a fejlesztő kifejezetten más értéket állított be. A rendszer a legmagasabb prioritást élvezi a védett bevitelnél, és figyelmen kívül hagy minden olyan kísérletet, amely az automatikus nagybetűsítés bekapcsolására irányul egy jelszómezőnél.

Konfigurációs példák Swift-ben

Az automatikus nagybetűsítés konfigurálása Swift-ben az autocapitalizationType tulajdonságon keresztül történik. A tulajdonság elérhető a UITextField, UITextView és UISearchBar számára. Az érték beállítható kódban és az Interface Builder attribútum-inspectorában is, ahol a mód neve Capitalization.

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

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

Egy kapcsolatfelvételi űrlaphoz állítson be minden mezőt a szemantikájának megfelelően: név — .words, e-mail — .none, üzenet — .sentences. Ez a kombináció biztosítja a legjobb felhasználói élményt és minimalizálja a kis- és nagybetűk kézi javításának szükségességét.

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

A mód programozott megváltoztatásához futásidőben használja a UITextFieldDelegate delegáltat. Például, ha egy mező különböző kontextusokban használható, változtassa meg az autocapitalizationType-ot a textFieldDidBeginEditing metódusban az űrlap aktuális munkamódjától függően.

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

Lokalizáció és automatikus nagybetűsítés

Az automatikus nagybetűsítés függ a felhasználó billentyűzetén beállított beviteli nyelvtől. Különböző nyelveknél a kis- és nagybetűs átalakítás szabályai eltérőek lehetnek. Például a török nyelvben az „i” betű nagybetűs formában „İ” (ponttal), az „I” pedig kisbetűs formában „ı” (pont nélkül) lesz. Az iOS ezeket a jellemzőket automatikusan figyelembe veszi.

Az orosz nyelvhez az automatikus nagybetűsítés ugyanazokkal a szabályokkal működik, mint az angolnál: nagybetű pont után, a mondat elején és új sor után. Problémák adódhatnak a „jo” betűvel — bár szerepel a rendszer szótárában, nem minden billentyűzetkiosztás jeleníti meg a fő rétegen, és az automatikus nagybetűsítés helyesen alakítja nagybetűvé.

A kínai, japán és koreai nyelvekhez az automatikus nagybetűsítés nem alkalmazható, mivel ezekben a nyelvekben nincs kis- és nagybetű fogalom. Az autocapitalizationType módot a rendszer figyelmen kívül hagyja a megfelelő billentyűzetek használatakor, és a mező ugyanúgy viselkedik, mint a .none módban, a beállított értéktől függetlenül.

Az arab nyelvhez és héberhez az automatikus nagybetűsítés szintén nem alkalmazható, mivel ezek a nyelvek saját írásrendszert használnak kis- és nagybetűkre való felosztás nélkül. Az iOS rendszer helyesen határozza meg a beviteli nyelvet, és figyelmen kívül hagyja az automatikus nagybetűsítés beállításait azoknál a nyelveknél, ahol ez a fogalom nem létezik.

Gyakran ismételt kérdések

Megváltoztatható-e dinamikusan az automatikus nagybetűsítés módja?

Igen, az autocapitalizationType tulajdonság bármikor megváltoztatható, még akkor is, ha a mező már aktív. A változás a következő karakter bevitelekor lép életbe.

Kikapcsolja-e a secureTextEntry az automatikus nagybetűsítést?

Igen, a isSecureTextEntry = true mezőkhöz a rendszer automatikusan autocapitalizationType = .none értéket állít be. Ezt a viselkedést programozottan nem lehet megváltoztatni.

Működik-e az automatikus nagybetűsítés a UITextView-hoz?

Igen, a UITextView teljes mértékben támogatja az autocapitalizationType-ot. Ez különösen hasznos a többsoros mezőknél, ahol a .sentences mód a legtermészetesebben működik.

Hogyan befolyásolja az automatikus nagybetűsítés a jelszót?

Ha egy mező nincs secureTextEntry-ként megjelölve, de jelszó bevitelére használják, az automatikus nagybetűsítés megváltoztathatja a jelszót. Mindig kapcsolja ki azokban a mezőkben, ahol a kis- és nagybetűk számítanak.

Van-e különbség a szimulátor és az eszköz között?

A szimulátoron az automatikus nagybetűsítés a Mac fizikai billentyűzetén keresztül működik, és eltérően viselkedhet. Tesztelje valódi eszközön a helyes működéshez.

Összefoglalás

  • Autocapitalization — az első karakter automatikus nagybetűvé alakításának funkciója iOS beviteli mezőkben
  • Négy mód UITextAutocapitalizationType: none, words, sentences, allCharacters
  • .sentences mód alkalmas a legtöbb mezőhöz, ., !, ? és új sor után aktiválódik
  • .none mód kötelező e-mailhez, jelszavakhoz, kereséshez és kis- és nagybetűre érzékeny mezőkhöz
  • .words mód optimális keresztnév, vezetéknév, város és cím mezőkhöz
  • Lokalizáció — a török nyelv esetében az İ/ı betű speciális szabálya érvényes
  • Javaslat — konfigurálja az automatikus nagybetűsítést minden mezőhöz a szemantikájának megfelelően

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is