Mobil geliştirmede kullanıcı girişi ve klavyeler: nedir, bileşenleri ve nasıl çalışır

Yazar: IT Sectr Yayınlanma: 2026-07-15 Okuma süresi: 9 dk

Kullanıcı girişi, bir mobil uygulamayla kullanıcı etkileşiminin temelidir. Ürünün kullanılabilirliği, iOS'ta UITextField, Android'de EditText ve mobil uygulamalarda klavyelerin doğru uygulanmasına bağlıdır. Apple HIG'ye göre, kullanıcı girişinin yanlış işlenmesi olumsuz yorumların yaygın bir nedenidir.

Önemli Noktalar

  • Kullanıcı girişi mobil uygulamalarda iOS'ta UITextField ve Android'de EditText aracılığıyla uygulanır.
  • Mobil uygulamalarda klavyeler, Keyboard Avoidance — klavye göründüğünde içeriği kaydırma tekniği gerektirir.
  • Kullanıcı girişi doğrulaması anlık (numaralar, kodlar) ve tamamlamada (e-posta, şifre) olarak ikiye ayrılır.
  • Input Mask şablonlarla telefon numaralarını, tarihleri ve banka kartlarını otomatik olarak biçimlendirir.
  • Text Content Type ve autofillHints otomatik doldurmayı etkinleştirir ve kullanıcı deneyimini iyileştirir.

Mobil uygulamalarda kullanıcı girişi nedir?

Mobil uygulamalarda kullanıcı girişi, dokunmatik ekran ve sanal klavye aracılığıyla kullanıcıdan uygulamaya veri aktarma sürecidir. iOS'ta ana araç UITextField; Android'de ise EditText'tir. Kullanıcı girişi, metin alanları, kayıt formları, arama sorguları, telefon numaraları ve onay kodlarını kapsar. Kullanıcı girişi uygulamasının kalitesi, form doldurma hızını ve mobil uygulama dönüşümünü etkiler.

Kullanıcı girişinin doğru organizasyonu neden önemlidir

Mobil geliştirmede kullanıcı girişinin yanlış işlenmesi, doğrulama hatalarına, güvenlik açıklarına ve kullanıcı kaybına yol açar. Statista'ya (2025) göre, kullanıcıların %67'si iki başarısız giriş denemesinden sonra mobil uygulamayı siler. Doğru kullanıcı girişi uygulaması, klavye türü yapılandırması, doğrulama, biçimlendirme ve otomatik doldurmayı içerir. Mobil geliştirmede, bu yönler her iki platform tarafından standartlaştırılmıştır.

Kullanıcı girişinin ana bileşenleri

Mobil uygulamalarda klavye, iOS'ta keyboardType ve Android'de inputType aracılığıyla yapılandırılır. Kullanıcı ayarları, otomatik düzeltme, otomatik doldurma ve güvenli şifre girişini içerir. iOS'ta Responder Chain ve Android'de odak, klavye gösterimini ve gizlemeyi kontrol eder. Mobil uygulamalarda kullanıcı girişi için Keyboard Avoidance kritiktir — içerik klavye tarafından gizlenmemelidir.

iOS'ta giriş alanları: UITextField ve UITextView

iOS'ta ana kullanıcı girişi öğeleri, tek satırlı metin için UITextField ve çok satırlı metin için UITextView'dir. Her ikisi de düzenlemenin başlangıcını, değişikliğini ve sonunu yönetmek için UITextFieldDelegate ve UITextViewDelegate delegate'lerini destekler. iOS mobil uygulamalarında klavye yapılandırması, keyboardType, returnKeyType ve isSecureTextEntry özellikleri aracılığıyla yapılır.

Text Content Type ve otomatik doldurma

textContentType özelliği, alanda hangi verilerin beklendiğini sisteme bildirir — username, password, oneTimeCode, emailAddress. Bu, anahtarlıktan otomatik doldurmayı etkinleştirir ve kullanıcı girişini hızlandırır. Secure Text Entry alanları için .password belirtin, böylece şifre yöneticisi kimlik bilgilerini doğru şekilde kaydeder. textContentType kullanımı, mobil uygulamalarda kullanıcı girişini iyileştirir.

swift
let textField = UITextField()
textField.placeholder = "Email"
textField.keyboardType = .emailAddress
textField.textContentType = .emailAddress
textField.autocorrectionType = .no
textField.becomeFirstResponder()

Responder Chain ve odak yönetimi

First Responder, klavyeden olayları alan aktif alandır. becomeFirstResponder() çağrısı klavyeyi gösterir, resignFirstResponder() gizler. Responder Chain, bir öğenin bir olayı işleyip işleyemeyeceğini sırayla kontrol eder. Birden çok alan olduğunda, klavyenin açık kalmaması için First Responder'ı yönetmek önemlidir. Mobil uygulamalarda kullanıcı girişi ayrıca textFieldShouldReturn tarafından da yönetilir — Return tuşuna basmak sonraki alana geçer.

Android'de giriş alanları: EditText ve TextInputLayout

Android'de UITextField'in benzeri EditText'tir ve inputType özelliği aracılığıyla tek satırlı ve çok satırlı modu destekler. Material alanları için com.google.android.material kütüphanesinden TextInputLayout kullanın — kayan ipucu, karakter sayacı ve hata desteği ekler. Android mobil uygulamalarında kullanıcı girişi, inputType ve imeOptions aracılığıyla yapılandırılır.

InputType ve imeOptions

inputType özelliği, klavye türünü ve giriş modunu belirler: normal metin için text, şifreler için textPassword, rakamlar için number, telefon tuş takımı için phone. imeOptions, Enter düğmesindeki eylemi kontrol eder — Done, Next, Search, Send. Değerleri bitsel VEYA ile birleştirin: text|textCapSentences. Android mobil uygulamalarında klavyeler, autofillHints aracılığıyla otomatik doldurmayı destekler.

kotlin
val editText = EditText(this)
editText.inputType = InputType.TYPE_CLASS_PHONE
editText.imeOptions = EditorInfo.IME_ACTION_DONE
editText.autofillHints = "phone"

val layout = TextInputLayout(this)
layout.hint = "Номер телефона"
layout.addView(editText)

setError ile hata yönetimi

TextInputLayout.setError(), giriş alanının altında bir hata mesajı gösterir. TextWatcher aracılığıyla anlık doğrulama ve form gönderiminde son doğrulamayı birleştirin. Mobil uygulamalarda kullanıcı girişi ayrıca odak içerir — requestFocus() bir alanı etkinleştirir ve klavyeyi gösterir. Android'de kullanıcı girişi tamamlandığında klavyeyi gizlemek için clearFocus() kullanın.

Mobil uygulamalarda klavye: Keyboard Avoidance

Mobil uygulamalarda klavye giriş alanlarını örtmemelidir — bu temel bir UX gereksinimidir. Keyboard Avoidance, klavye göründüğünde içeriği kaydırma tekniğidir. iOS'ta, klavye boyutunu almak ve scrollView'i kaydırmak için UIResponder.keyboardWillShowNotification kullanın. Android'de, manifestte adjustResize belirtin veya CoordinatorLayout kullanın. Mobil uygulamalarda klavyeler iki platformda farklı şekilde yapılandırılır, ancak amaç aynıdır — içerik her zaman görünür.

iOS'ta Keyboard Avoidance

iOS'ta, NotificationCenter aracılığıyla keyboardWillShowNotification ve keyboardWillHideNotification bildirimlerine abone olun. İşleyicide, userInfo'dan klavye boyutunu alın ve UIScrollView'da contentInset ayarlayın. Alternatif olarak, kaydırmayı otomatik olarak işleyen IQKeyboardManager'ı kullanın. iOS mobil geliştirmede kullanıcı girişi, rahat bir UX için zorunlu klavye işleme gerektirir.

Android'de Keyboard Avoidance

Android'de ana yöntem, manifestte android:windowSoftInputMode="adjustResize" belirtmektir. Bu işaret, klavye göründüğünde düzeni sıkıştırır. CoordinatorLayout için, düğmeleri ve alanları yükselten Behavior kullanın. Hassas kenar boşluğu kontrolü için ViewCompat.setOnApplyWindowInsetsListener kullanın. Android mobil uygulamada klavye ayrıca OnGlobalLayoutListener tarafından da yönetilir.

Kullanıcı girişi doğrulaması ve biçimlendirme

Kullanıcı girişi doğrulaması, mobil uygulamalarda veri işlemede zorunlu bir adımdır. Doğrulama olmadan uygulama yanlış veri alır, bu da hatalara ve güvenlik açıklarına yol açar. Mobil uygulamalarda kullanıcı girişi iki yaklaşım gerektirir: sayılar ve kodlar için anlık doğrulama (her karakterde) ve e-posta ve şifreler için son doğrulama. Input Mask, telefon, tarih ve kart numarasını otomatik olarak biçimlendirir.

iOS ve Android'de Input Mask

Input Mask, metnin otomatik olarak biçimlendirildiği bir giriş deseni tanımlar. Rus telefon numarası için maske örneği: "+7 (___) ___-__-__". iOS'ta Input Mask, textField(_:shouldChangeCharactersIn:replacementString:) delegate'i aracılığıyla uygulanır. Android'de, karakter konumu izleme ile InputFilter kullanın. Uluslararası numaralar için Google'dan libphonenumber kütüphanesini kullanın.

swift
func textField(
    _ textField: UITextField,
    shouldChangeCharactersIn range: NSRange,
    replacementString string: String
) -> Bool {
    guard let text = textField.text else { return true }
    let masked = applyPhoneMask(text, mask: "+7 (***) ***-**-**")
    textField.text = masked
    return false
}

iOS ve Android yaklaşımlarının karşılaştırması

ParametreiOSAndroid
Tek satırlı alanUITextFieldEditText
Çok satırlı alanUITextViewEditText + textMultiLine
Kayan ipucuattributedPlaceholderTextInputLayout
Klavye türükeyboardTypeinputType
Güvenli girişisSecureTextEntrytextPassword
Otomatik doldurmatextContentTypeautofillHints
Delegate veya ListenerUITextFieldDelegateTextWatcher
Doğrulama hatasıÖzel UILabelTextInputLayout.setError()

Sıkça Sorulan Sorular

iOS'ta programlı olarak klavye nasıl gösterilir?

UITextField veya UITextView üzerinde becomeFirstResponder() çağırın. Gizlemek için resignFirstResponder() kullanın. Alanın görünür ve engellenmemiş olduğundan emin olun.

Android'de inputType ve imeOptions arasındaki fark nedir?

inputType klavye türünü (metin, rakam, e-posta) belirler. imeOptions, Enter düğmesindeki eylemi (Done, Next, Search) kontrol eder. Bağımsız çalışırlar ve sıklıkla birleştirilirler.

iOS'ta özel Input Mask nasıl oluşturulur?

textField(_:shouldChangeCharactersIn:replacementString:) delegate'ini kullanın ve metni manuel olarak biçimlendirin. Veya "+7 ([000]) [000]-[00]-[00]" gibi desenlerle InputMask kütüphanesini kullanın.

Android'de klavye neden giriş alanını örter?

Manifestte android:windowSoftInputMode="adjustResize" belirtin. CoordinatorLayout kullanıyorsanız, düğmeleri ve alanları yükseltmek için Behavior yapılandırmasını kontrol edin.

SMS'den onay kodu girişi nasıl işlenir?

iOS'ta textContentType = .oneTimeCode kullanın. Android'de autofillHints = "smsCode" kullanın. Sistem, alındığında SMS'ten kodu otomatik olarak dolduracaktır.

Özet

  • Kullanıcı girişi mobil uygulamalarda iOS'ta UITextField ve Android'de EditText ile keyboardType ve inputType yapılandırmasıyla uygulanır.
  • Mobil uygulamalarda klavyeler Keyboard Avoidance gerektirir — Android'de adjustResize ve iOS'ta keyboardWillShowNotification ile içerik kaydırma.
  • Kullanıcı girişi doğrulaması anlık (numaralar, kodlar) ve son (e-posta, şifre) olarak ikiye ayrılır, her biri kendi araçlarına sahiptir.
  • Input Mask UITextField delegate'i veya InputFilter aracılığıyla telefon numaralarını, tarihleri ve banka kartlarını otomatik olarak biçimlendirir.
  • Text Content Type iOS'ta ve autofillHints Android'de sistem ve şifre yöneticilerinden otomatik doldurmayı etkinleştirir.
  • Mobil geliştirmede kullanıcı girişi iOS'ta Responder Chain ve Android'de odak yönetimini kapsar.
  • Mobil uygulamalarda klavye rahat bir UX için imeOptions, autocorrectionType ve textContentType aracılığıyla yapılandırılır.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış