الكتابة التلقائية بالأحرف الكبيرة: ما هي، أنواعها وUITextAutocapitalizationType

المؤلف: IT Sectr نُشر: 2026-07-08 وقت القراءة: 7 دق

الكتابة التلقائية بالأحرف الكبيرة هي آلية في iOS تقوم تلقائياً بتحويل الحرف الأول من النص المدخل إلى حرف كبير في سياقات معينة. يوفر UIKit الخاصية autocapitalizationType في بروتوكول UITextInputTraits بأربعة أوضاع: none, words, sentences و allCharacters. وفقاً لدليل Apple Text Programming Guide (2025)، فإن التكوين الصحيح للكتابة التلقائية بالأحرف الكبيرة يحسن تجربة المستخدم ويقلل عدد التصحيحات اليدوية أثناء الإدخال. استخدم وضع sentences لمعظم حقول النص ووضع none لأسماء المستخدمين وكلمات المرور.

النقاط الرئيسية

  • الكتابة التلقائية بالأحرف الكبيرة هي تحويل تلقائي للحرف الأول إلى كبير في حقول الإدخال UIKit
  • UITextAutocapitalizationType يتضمن أربعة أوضاع: none, words, sentences و allCharacters
  • وضع sentences هو الأكثر شيوعاً، يجعل الحرف الأول من كل جملة كبيراً
  • وضع words يجعل الحرف الأول من كل كلمة كبيراً، مناسب لحقول الاسم واللقب
  • وضع none إلزامي لحقول كلمات المرور والبريد الإلكتروني واستعلامات البحث ورموز التأكيد

ما هي الكتابة التلقائية بالأحرف الكبيرة؟

الكتابة التلقائية بالأحرف الكبيرة هي ميزة في نظام iOS تقوم تلقائياً بتحويل أول حرف من النص إلى حرف كبير عند استيفاء شروط معينة. يتم التحكم في الآلية من خلال خاصية autocapitalizationType، المتاحة لجميع العناصر التي تنفذ بروتوكول UITextInputTraits: UITextField و UITextView و UISearchBar.

تعمل الميزة على مستوى محرك النصوص في iOS وتنشط عند إدخال كل حرف. يقوم النظام بتحليل موضع المؤشر والنص المحيط لتحديد ما إذا كان يجب تحويل الحرف المدخل حالياً إلى كبير. إذا تحقق الشرط، يقوم iOS تلقائياً باستبدال الحرف الصغير بحرف كبير قبل ظهوره في الحقل.

وفقاً لـ إرشادات واجهة المستخدم من Apple (2025)، فإن الكتابة التلقائية بالأحرف الكبيرة هي جزء من نظام إدخال تنبؤي أوسع يشمل أيضاً التصحيح التلقائي والإدخال التنبؤي للنص. يمكن للمستخدم تعطيل كل هذه الميزات عالمياً في إعدادات النظام (الإعدادات > عام > لوحة المفاتيح)، ولكن المطور يتحكم بها أيضاً على مستوى الحقول المحددة.

على عكس التصحيح التلقائي، لا تستخدم الكتابة التلقائية بالأحرف الكبيرة نموذج لغة — فهي تعمل بقواعد بسيطة: بعد النقطة والمسافة، في بداية النص، بعد حرف السطر الجديد. الاستثناء هو وضع words، حيث يصبح الحرف الأول من كل كلمة كبيراً بغض النظر عن السياق.

أوضاع الكتابة التلقائية بالأحرف الكبيرة

UITextAutocapitalizationType هو تعداد من أربع قيم تحدد استراتيجية التحويل التلقائي لحالة الأحرف. كل وضع مصمم لنوع معين من حقول النص ويحل مهمة محددة لتجربة المستخدم.

None — بدون كتابة تلقائية بالأحرف الكبيرة

يقوم الوضع .none بتعطيل التحويل التلقائي لحالة الأحرف تماماً. يتم إدخال جميع الأحرف بالطريقة التي يكتبها بها المستخدم. هذا الوضع إلزامي لحقول كلمات المرور وعناوين البريد الإلكتروني والأسماء المستعارة واستعلامات البحث وأي حقول تكون فيها حالة الأحرف مهمة لمعالجة البيانات على الخادم.

Words — كل كلمة بحرف كبير

يقوم الوضع .words بجعل الحرف الأول من كل كلمة مدخلة كبيراً. يحدد النظام حدود الكلمات بواسطة المسافات ويحول الحرف الأول بعد المسافة إلى كبير. هذا الوضع مفيد لحقول الاسم واللقب وأسماء المدن والشوارع والحقول الأخرى حيث يجب أن تبدأ كل كلمة بحرف كبير.

Sentences — بداية الجملة

الوضع .sentences هو الأكثر شيوعاً ويستخدم افتراضياً لمعظم حقول النص. يقوم النظام بجعل الحرف الأول بعد النقطة وعلامة التعجب وعلامة الاستفهام متبوعة بمسافة كبيراً. هذا الوضع مثالي للملاحظات والرسائل والتعليقات وحقول النص متعددة الأسطر الأخرى.

All Characters — كل الأحرف كبيرة

يقوم الوضع .allCharacters بتحويل جميع الأحرف المدخلة إلى أحرف كبيرة. هذا الوضع يعادل الضغط المستمر على Caps Lock ويستخدم للحقول التي يجب أن تكون البيانات فيها بأحرف كبيرة: الرموز البريدية ورموز البلدان والاختصارات وأرقام الطلبات. يجب استخدامه بحذر لأن النص بالأحرف الكبيرة يصعب قراءته.

الوضعالوصفمثال إدخالتوصية
.noneبدون تغييراتahmed@mail.comالبريد الإلكتروني، كلمات المرور، البحث
.wordsكل كلمةأحمد محمدالاسم، العنوان، المدينة
.sentencesبداية الجملةمرحباً. كيف حالك؟الرسائل، الملاحظات
.allCharactersكل الأحرف كبيرةABC-123الرموز، المؤشرات

كيف يعمل الحرف الكبير التلقائي

آلية الكتابة التلقائية بالأحرف الكبيرة تنشط أثناء معالجة الضغط على المفتاح، قبل عرض الحرف على الشاشة. عندما يضغط المستخدم على مفتاح، يتحقق UITextInputTraits من موضع المؤشر الحالي ويطبق قاعدة تحويل حالة الأحرف وفقاً لـ autocapitalizationType المحدد.

بالنسبة للوضع .sentences، يتتبع النظام الأحرف المحفزة: النقطة (.)، علامة التعجب (!)، علامة الاستفهام (?)، وحرف السطر الجديد ( ) عند التفعيل. بعد اكتشاف حرف محفز والمسافة التالية، يقوم النظام بتعيين علامة «توقع حرف كبير» للحرف التالي الذي سيتم إدخاله.

الوضع .words يتتبع حرف المسافة كمحفز. بعد كل مسافة، يتوقع النظام حرفاً كبيراً للكلمة التالية. ومع ذلك، هناك استثناءات: بعد الواصلة والفاتورة وعلامات الترقيم الأخرى داخل الكلمة، لا يتم إدراج حرف كبير. على سبيل المثال، تبقى «O’Brien» صحيحة.

ميزة مهمة هي أن الكتابة التلقائية بالأحرف الكبيرة تعمل فقط على الحرف الأول من الكلمة. إذا أدخل المستخدم كلمة تحتوي على أحرف كبيرة في المنتصف (مثل iPhone أو macOS)، لا يقوم النظام بتغييرها، لأن التحويل ينطبق فقط على الحرف الأول بعد المحفز. هذا يعني أن أسماء العلامات التجارية والمنتجات ذات الحالة غير القياسية لن تتأثر.

متى يتم تعطيل الكتابة التلقائية بالأحرف الكبيرة

يجب تعطيل الكتابة التلقائية بالأحرف الكبيرة في الحقول حيث تكون حالة الأحرف مهمة للمعالجة الصحيحة للبيانات. الحالات الشائعة: حقول البريد الإلكتروني والأسماء المستعارة وأسماء المستخدمين وكلمات المرور واستعلامات البحث وعناوين URL ورموز التأكيد و IMEI والأرقام التسلسلية. في كل هذه الحالات، ستؤدي التغييرات التلقائية في حالة الأحرف إلى أخطاء أثناء المعالجة على الخادم.

بالنسبة لـ حقول البحث (UISearchBar)، يتم تعطيل الكتابة التلقائية بالأحرف الكبيرة افتراضياً، مما يتوافق مع توقعات المستخدم. يمكن إدخال استعلام البحث بأي حالة أحرف، وعادة ما يقوم الخادم بتحويله إلى أحرف صغيرة بنفسه. إذا تم تفعيل الكتابة التلقائية بالأحرف الكبيرة للبحث، سيضطر المستخدم إلى تصحيح الحرف الكبير في بداية كل استعلام يدوياً.

في نماذج التسجيل، يجب أن يكون حقل اسم المستخدم أو الاسم المستعار في وضع .none، لأن العديد من الأنظمة تفرق بين حالة الأحرف في أسماء المستخدمين. يجب أن يكون حقل البريد الإلكتروني أيضاً بدون كتابة تلقائية بالأحرف الكبيرة — على الرغم من أن أسماء النطاقات لا تفرق بين حالة الأحرف، إلا أن الجزء المحلي من البريد الإلكتروني نظرياً يمكن أن يفرق بينها، على الرغم من أن هذا نادر في الممارسة.

وفقاً لـ وثائق مطوري Apple، فإن الحقول ذات secureTextEntry (كلمات المرور) ترث تلقائياً autocapitalizationType = .none، حتى إذا قام المطور بتعيين قيمة مختلفة صراحة. يتمتع النظام بأعلى أولوية للإدخال الآمن ويتجاهل أي محاولات لتفعيل الكتابة التلقائية بالأحرف الكبيرة لحقل كلمة المرور.

أمثلة على التكوين في Swift

تكوين الكتابة التلقائية بالأحرف الكبيرة في Swift يتم من خلال خاصية autocapitalizationType. الخاصية متاحة لـ UITextField و UITextView و UISearchBar. يمكن تعيين القيمة سواء في الكود أو من خلال Interface Builder في فاحص الخصائص، حيث يسمى الوضع Capitalization.

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

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

لـ نموذج جهات الاتصال، قم بتكوين كل حقل وفقاً لدلالاته: الاسم — .words، البريد الإلكتروني — .none، الرسالة — .sentences. هذا المزيج يوفر أفضل تجربة مستخدم ويقلل الحاجة إلى التصحيح اليدوي لحالة الأحرف.

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

لـ التغيير البرمجي للوضع في وقت التشغيل، استخدم المفوض UITextFieldDelegate. على سبيل المثال، إذا كان يمكن استخدام حقل في سياقات مختلفة، قم بتغيير autocapitalizationType في طريقة textFieldDidBeginEditing وفقاً لوضع التشغيل الحالي للنموذج.

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

التدويل والكتابة التلقائية بالأحرف الكبيرة

الكتابة التلقائية بالأحرف الكبيرة تعتمد على لغة الإدخال المحددة على لوحة مفاتيح المستخدم. قد يكون للغات المختلفة قواعد مختلفة لتحويل حالة الأحرف. على سبيل المثال، في التركية، الحرف «i» في حالة الكبير يتحول إلى «İ» (بنقطة)، بينما «I» في حالة الصغير يتحول إلى «ı» (بدون نقطة). يتعامل iOS مع هذه الميزات تلقائياً.

بالنسبة للروسية، تتبع الكتابة التلقائية بالأحرف الكبيرة نفس قواعد الإنجليزية: حرف كبير بعد النقطة، في بداية الجملة وبعد السطر الجديد. قد تنشأ مشاكل مع الحرف «yo» — على الرغم من وجوده في قاموس النظام، إلا أن جميع تخطيطات لوحة المفاتيح لا تعرضه في الطبقة الرئيسية، والكتابة التلقائية بالأحرف الكبيرة تحول «yo» بشكل صحيح إلى «Yo».

بالنسبة للصينية واليابانية والكورية، لا تنطبق الكتابة التلقائية بالأحرف الكبيرة، حيث لا تحتوي هذه اللغات على مفهوم حالة الأحرف. يتم تجاهل وضع autocapitalizationType من قبل النظام عند استخدام لوحات المفاتيح المقابلة، ويتصرف الحقل بنفس الطريقة كما في وضع .none، بغض النظر عن القيمة المحددة.

بالنسبة للغة العربية والعبرية، لا تنطبق الكتابة التلقائية بالأحرف الكبيرة أيضاً، حيث تستخدم هذه اللغات نظام كتابة خاصاً بها بدون تمييز بين الأحرف الكبيرة والصغيرة. يكتشف نظام iOS لغة الإدخال بشكل صحيح ويتجاهل إعدادات الكتابة التلقائية بالأحرف الكبيرة للغات حيث لا يوجد هذا المفهوم.

الأسئلة الشائعة

هل يمكن تغيير وضع الكتابة التلقائية بالأحرف الكبيرة ديناميكياً؟

نعم، يمكن تغيير الخاصية autocapitalizationType في أي وقت، حتى عندما يكون الحقل نشطاً بالفعل. سيسري التغيير عند إدخال الحرف التالي.

هل يقوم secureTextEntry بتعطيل الكتابة التلقائية بالأحرف الكبيرة؟

نعم، للحقول ذات isSecureTextEntry = true، يقوم النظام تلقائياً بتعيين autocapitalizationType = .none. لا يمكن تغيير هذا السلوك برمجياً.

هل تعمل الكتابة التلقائية بالأحرف الكبيرة لـ UITextView؟

نعم، UITextView يدعم autocapitalizationType بشكل كامل. هذا مفيد بشكل خاص للحقول متعددة الأسطر حيث يعمل وضع .sentences بشكل طبيعي أكثر.

كيف تؤثر الكتابة التلقائية بالأحرف الكبيرة على كلمة المرور؟

إذا لم يتم وضع علامة على الحقل كـ secureTextEntry ولكن يتم استخدامه لإدخال كلمة المرور، يمكن للكتابة التلقائية بالأحرف الكبيرة تغيير كلمة المرور. قم دائماً بتعطيلها للحقول حيث تكون حالة الأحرف مهمة.

هل هناك فرق بين المحاكي والجهاز؟

على المحاكي، تعمل الكتابة التلقائية بالأحرف الكبيرة من خلال لوحة مفاتيح Mac الفعلية وقد تتصرف بشكل مختلف. اختبر على جهاز حقيقي للحصول على سلوك صحيح.

الملخص

  • الكتابة التلقائية بالأحرف الكبيرة هي ميزة تحويل تلقائي للحرف الأول إلى كبير في حقول الإدخال iOS
  • أربعة أوضاع لـ UITextAutocapitalizationType: none, words, sentences, allCharacters
  • الوضع .sentences مناسب لمعظم الحقول، ينشط بعد النقطة، !، ? والسطر الجديد
  • الوضع .none إلزامي للبريد الإلكتروني وكلمات المرور والبحث والحقول الحساسة لحالة الأحرف
  • الوضع .words مثالي لحقول الاسم واللقب والمدينة والعنوان
  • التدويل — اللغة التركية لها قواعد خاصة للحرف İ/ı
  • توصية — قم بتكوين الكتابة التلقائية بالأحرف الكبيرة لكل حقل وفقاً لدلالاته

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا