Autocapitalization: bu nədir, növləri və UITextAutocapitalizationType

Müəllif: IT Sectr Dərc olunub: 2026-07-08 Oxuma vaxtı: 7 dəq

Autocapitalization — iOS mexanizmidir, müəyyən kontekstlərdə daxil edilən mətnin ilk hərfinin avtomatik olaraq böyük hərflə yazılmasını təmin edir. UIKit UITextInputTraits protokolunda autocapitalizationType xüsusiyyətini dörd rejimlə təqdim edir: none, words, sentences və allCharacters. Apple Text Programming Guide (2025)-ə əsasən, avtokapitalizasiyanın düzgün konfiqurasiyası istifadəçi təcrübəsini yaxşılaşdırır və daxiletmə zamanıl əl ilə düzəlişlərin sayını azaldır. Mətn sahələrinin əksəriyyəti üçün sentences rejimindən, istifadəçi adları və şifrələr üçün isə none rejimindən istifadə edin.

Əsas məqamlar

  • Autocapitalization — UIKit daxiletmə sahələrində ilk hərfin avtomatik böyük hərflə yazılması
  • UITextAutocapitalizationType dörd rejimi əhatə edir: none, words, sentences və allCharacters
  • Sentences rejimi — ən çox yayılmışdır, hər cümlənin ilk hərfinin böyük yazılmasını təmin edir
  • Words rejimi — hər sözün ilk hərfinin böyük yazılmasını təmin edir, ad və soyad sahələri üçün əlverişlidir
  • None rejimi — şifrə, email, axtarış sorğuları və təsdiq kodları sahələri üçün məcburidir

Autocapitalization nədir?

Autocapitalization (avtokapitalizasiya) — iOS əməliyyat sisteminin funksiyasıdır, müəyyən şərtlər baş verdikdə mətnin ilk simvolunu avtomatik olaraq böyük hərflə yazır. Mexanizm UITextInputTraits protokolunu tətbiq edən bütün elementlər üçün mövcud olan autocapitalizationType xüsusiyyəti vasitəsilə idarə olunur: UITextField, UITextView və UISearchBar.

Funksiya iOS mətn mühərrikində işləyir və hər simvol daxil edilərkən aktivləşir. Sistem kursorun mövqeyini və ətraf mətni təhlil edir ki, cari daxil edilən simvolun böyük hərflə yazılmasının lazım olub-olmadığını müəyyənləşdirsin. Şərt ödənilərsə, iOS simvol sahədə göstərilməzdən əvvəl kiçik hərfi avtomatik olaraq böyük hərflə əvəz edir.

Apple Human Interface Guidelines (2025)-ə əsasən, avtokapitalizasiya həm də avtokorreksiya və prediktiv mətn daxiletməni əhatə edən geniş proqnozlaşdırıcı daxiletmə sisteminin bir hissəsidir. İstifadəçi bütün bu funksiyaları sistem parametrlərində (Parametrlər > Ümumi > Klaviatura) qlobal olaraq söndürə bilər, lakin tərtibatçı da onları konkret sahələr səviyyəsində idarə edir.

Avtokorreksiyadan fərqli olaraq, avtokapitalizasiya dil modelindən istifadə etmir — sadə qaydalarla işləyir: nöqtə və boşluqdan sonra, mətnin əvvəlində, yeni sətri simvolundan sonra. İstisna words rejimidir, burada kontekstdən asılı olmayaraq hər sözün ilk hərfi böyük olur.

Avtokapitalizasiya rejimləri

UITextAutocapitalizationType — registrin avtomatik çevrilməsi strategiyasını müəyyənləşdirən dörd dəyərdən ibarət sadalamadır. Hər bir rejim müəyyən mətn sahəsi növü üçün nəzərdə tutulmuşdur və istifadəçi təcrübəsinin konkret tapşırığını həll edir.

None — avtokapitalizasiya olmadan

.none rejimi registrin avtomatik çevrilməsini tamamilə söndürür. Bütün simvollar istifadəçinin yazdığı registrdə daxil edilir. Bu rejim şifrə, email ünvanları, ləqəblər, axtarış sorğuları və registrin serverdə məlumatların işlənməsi üçün əhəmiyyət kəsb etdiyi istənilən sahələr üçün məcburidir.

Words — hər söz böyük hərflə

.words rejimi daxil edilən hər sözün ilk hərfinin böyük yazılmasını təmin edir. Sistem boşluqdan sonra sözün sərhəddini müəyyənləşdirir və boşluqdan sonrakı ilk simvolu böyük hərflə çevirir. Bu rejim ad, soyad, şəhər adları, küçələr və hər sözün böyük hərflə başlamalı olduğu digər sahələr üçün əlverişlidir.

Sentences — cümlənin əvvəli

.sentences rejimi — ən çox yayılmışdır və əksər mətn sahələri üçün standart olaraq istifadə olunur. Sistem nöqtə, nida və ya sual işərəsindən sonra ilk hərfi böyük edir. Rejim qeydlər, mesajlar, şərhlər və digər çoxsətirli mətnlərin daxil edilməsi üçün idealdır.

All Characters — bütün böyük hərflər

.allCharacters rejimi bütün daxil edilən simvolları böyük hərflərə çevirir. Bu rejim Caps Lock-un daimi basılı saxlanılmasına bərabərdir və məlumatların böyük hərflə yazılmalı olduğu sahələr üçün istifadə olunur: poçt indeksləri, ölkə kodları, abbreviaturalar, sifariş nömrələri. Ehtiyatla tətbiq edilməlidir, çünki böyük hərflə yazılmış mətn daha çətin oxunur.

RejimTəsvirDaxiletmə nümunəsiTövsiyə
.noneDəyişiklik yoxdurjohn@mail.comEmail, şifrələr, axtarış
.wordsHər sözElməddin TağıyevAd, ünvan, şəhər
.sentencesCümlənin əvvəliSalam. Necəsiz?Mesajlar, qeydlər
.allCharactersBütün böyükABC-123Kodlar, indekslər

Avtomatik böyük hərf necə işləyir

Avtokapitalizasiya mexanizmi düymənin basılmasının emalı mərhələsində, simvolun ekranda göstərilməsindən əvvəl aktivləşir. İstifadəçi düyməni basdıqda, UITextInputTraits kursorun cari mövqeyini yoxlayır və müəyyən edilmiş autocapitalizationType-ə uyğun olaraq registrin çevrilməsi qaydasını tətbiq edir.

.sentences rejimi üçün sistem tetikleyici simvolları izləyir: nöqtə (.), nida işərəsi (!), sual işərəsi (?), həmçinin yeni sətri simvolu ( ) rejim aktiv olduqda. Tetikleyici simvol və ondan sonrakı boşluq aşkarlanandan sonra sistem növbəti daxil edilən simvol üçün “böyük hərf gözləntisi” bayrağını təyin edir.

.words rejimi boşluq simvolunu tetikleyici kimi izləyir. Hər boşluqdan sonra sistem növbəti söz üçün böyük hərf gözləyir. Bununla belə, istisnalar var: defisdən, apostrofdan və söz daxilindəki digər durğu işərələrindən sonra böyük hərf qoyulmur. Məsələn, “O’Brien” düzgün qalacaq.

Vacib xüsusiyyət — avtokapitalizasiya yalnız sözün ilk simvolu üçün işləyir. İstifadəçi ortasında böyük hərflər olan söz daxil edərsə (məsələn, iPhone və ya macOS), sistem onları dəyişdirmir, çünki çevrilmə yalnız tetikleyicidən sonrakı ilk simvola tətbiq edilir. Bu o deməkdir ki, qeyri-standart registrli brend və məhsul adları zədələnməyəcək.

Avtokapitalizasiyanı nə vaxt söndürməli

Avtokapitalizasiya söndürülməlidir registrin məlumatların düzgün işlənməsi üçün əhəmiyyət kəsb etdiyi sahələrdə. Əsas hallar: email ünvanları, ləqəblər və istifadəçi adları, şifrələr, axtarış sorğuları, URL ünvanları, təsdiq kodları, IMEI və seriya nömrələri. Bütün bu hallarda registrin avtomatik dəyişdirilməsi serverdə emal zamanı səhvlərə səbəb olacaq.

Axtarış sətirləri (UISearchBar) üçün avtokapitalizasiya standart olaraq söndürülür, bu istifadəçilərin gözləntilərinə uyğundur. Axtarış sorğusu istənilən registrdə daxil edilə bilər və server adətən onu özü kiçik hərflərə çevirir. Axtarış üçün avtokapitalizasiyanı aktiv etsəniz, istifadəçi hər dəfə sorğunun əvvəlindəki böyük hərfi əl ilə düzəltməli olacaq.

Qeydiyyat formalarında username və ya nickname sahəsi .none rejiminə malik olmalıdır, çünki bir çox sistemlər istifadəçi adlarında registri fərqləndirir. Email sahəsi də avtokapitalizasiyasız olmalıdır — domen adları registrə həssas olmasa da, email-in lokal hissəsi nəzəri olaraq registri fərqləndirə bilər, baxmayaraq ki, praktikada bu nadir hallarda baş verir.

Apple Developer Documentation-a əsasən, secureTextEntry (şifrələr) olan sahələr avtomatik olaraq autocapitalizationType = .none dəyərini miras alır, hətta tərtibatçı açıqça başqa dəyər təyin etsə belə. Sistem qorunan daxiletmə üçün ən yüksək prioritetə malikdir və şifrə sahəsi üçün avtokapitalizasiyanı aktiv etmək üçün edilən bütün cəhdləri görməzdən gəlir.

Swift-də konfiqurasiya nümunələri

Avtokapitalizasiyanın konfiqurasiyası Swift-də autocapitalizationType xüsusiyyəti vasitəsilə həyata keçirilir. Xüsusiyyət UITextField, UITextView və UISearchBar üçün mövcuddur. Dəyər həm kodda, həm də Interface Builder vasitəsilə atributlar inspektorunda təyin edilə bilər, burada rejim Capitalization adlanır.

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

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

Əlaqə forması üçün hər sahəni semantikasına uyğun konfiqurasiya edin: ad — .words, email — .none, mesaj — .sentences. Bu kombinasiya ən yaxşı istifadəçi təcrübəsini təmin edir və registrin əl ilə düzəlişinə ehtiyacı azaldır.

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

Proqram dəyişikliyi üçün UITextFieldDelegate istifadə edin. Məsələn, sahə müxtəlif kontekstlərdə istifadə oluna bilərsə, formanın cari iş rejimindən asılı olaraq textFieldDidBeginEditing metodunda autocapitalizationType dəyışdirin.

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

Lokallaşdırma və avtokapitalizasiya

Avtokapitalizasiya istifadəçinin klaviaturasında qurulmuş daxiletmə dilindən asılıdır. Müxtəlif dillər üçün registrin çevrilməsi qaydaları fərqlənə bilər. Məsələn, türk dilində “i” hərfi böyük registrdə “İ” (nöqtə ilə), “I” isə kiçik registrdə “ı” (nöqtəsiz) olur. iOS bu xüsusiyyətləri avtomatik nəzərə alır.

Rus dili üçün avtokapitalizasiya ingilis dili ilə eyni qaydalarla işləyir: nöqtədən sonra, cümlənin əvvəlində və yeni sətrdən sonra böyük hərf. “Jo” hərfi ilə problemlər yarana bilər — o, sistem lüğətində olsa da, bütün klaviatura tərtibləri onu əsas qatda göstərmir və avtokapitalizasiya onu düzgün şəkildə böyük hərflə yazır.

Çin, Yaponiya və Koreya dilləri üçün avtokapitalizasiya tətbiq edilmir, çünki bu dillərdə registr anlayışı yoxdur. autocapitalizationType rejimi müvafiq klaviaturalardan istifadə edərkən sistem tərəfindən görməzdən gəlinir və sahə təyin edilmiş dəyərdən asılı olmayaraq .none rejimində olduğu kimi davranır.

Ərəb dili və ivrit üçün də avtokapitalizasiya tətbiq edilmir, çünki bu dillər kiçik və böyük hərflərə bölünməyən öz yazı sistemlərindən istifadə edir. iOS daxiletmə dilini düzgün müəyyənləşdirir və bu anlayışın olmadığı dillər üçün avtokapitalizasiya parametrlərini görməzdən gəlir.

Tez-tez verilən suallar

Avtokapitalizasiya rejimini dinamik olaraq dəyişmək mümkündürmü?

Bəli, autocapitalizationType xüsusiyyəti istənilən vaxt, hətta sahə aktiv olanda belə dəyişdirilə bilər. Dəyişiklik növbəti simvol daxil edilərkən qürvəyə minəcək.

secureTextEntry avtokapitalizasiyanı söndürürmü?

Bəli, isSecureTextEntry = true olan sahələr üçün sistem avtomatik olaraq autocapitalizationType = .none təyin edir. Bu davranışı proqram vasitəsilə dəyişdirmək mümkün deyil.

Avtokapitalizasiya UITextView üçün işləyirmi?

Bəli, UITextView autocapitalizationType-ı tam dəstəkləyir. Bu, xüsusilə .sentences rejiminin ən təbii işlədiyi çoxsətirli sahələr üçün faydalıdır.

Avtokapitalizasiya şifrəyə necə təsir edir?

Əgər sahə secureTextEntry kimi qeyd edilməyibsə, lakin şifrə daxil etmək üçün istifadə olunursa, avtokapitalizasiya şifrəni dəyişdirə bilər. Registrin əhəmiyyət kəsb etdiyi sahələrdə həmişə onu söndürün.

Simulyator və cihaz arasında fəq varmı?

Simulyatorda avtokapitalizasiya Mac-in fiziki klaviaturası vasitəsilə işləyir və fərqli davrana bilər. Düzgün davranış üçün real cihazda sınayın.

Xülasə

  • Autocapitalization — iOS daxiletmə sahələrində ilk simvolun avtomatik böyük hərflə yazılması funksiyası
  • Dörd rejim UITextAutocapitalizationType: none, words, sentences, allCharacters
  • .sentences rejimi əksər sahələr üçün uyğundur, nöqtə, !, ? və yeni sətrdən sonra aktivləşir
  • .none rejimi email, şifrələr, axtarış və registrə həssas sahələr üçün məcburidir
  • .words rejimi ad, soyad, şəhər və ünvan sahələri üçün optimaldır
  • Lokallaşdırma — türk dili üçün İ/ı hərfinin xüsusi qaydası nəzərə alınır
  • Tövsiyə — avtokapitalizasiyanı hər sahə üçün onun semantikasına uyğun konfiqurasiya edin

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun