Input-mask-ios: Memperbaiki simbol di topeng

Dibuat pada 20 Feb 2017  ·  3Komentar  ·  Sumber: RedMadRobot/input-mask-ios

Akan sangat bagus untuk memiliki kemampuan menggunakan simbol tetap.

Misalnya saya butuh masker untuk nomor telepon: +7 (111) 111-11-11
Jadi menurut dokumentasi saya bisa membuat topeng untuk kasus ini: +7([000])[000]-[00]-[00]
Dan itu baik-baik saja. Tapi saya ingin pengguna tidak dapat menghapus dua simbol (+7). Jadi setiap kali "+7" harus selalu terlihat di bidang teks.

enhancement question rejected

Komentar yang paling membantu

@TikhonovAlexander hei di sana. @razalur mungkin tertarik juga.

Terima kasih telah mengingatkan saya tentang permintaan fitur ini. Kami sebenarnya melakukan pembicaraan singkat dengan dua penginjil dari Apple tentang memiliki teks yang tidak dapat diedit di dalam bidang teks.

TL;DR: Kami tidak akan mendukung fitur ini.

Itu tidak melanggar HIG secara langsung meskipun itu adalah ide yang buruk untuk membatasi kontrol pengguna atas aplikasi dan mengambil alih pengambilan keputusan. Bidang teks asli tidak berperilaku seperti itu, dan iOS SDK sudah memiliki komponen untuk teks statis — a UILabel .

Anda tidak dapat menonaktifkan atau menghilangkan tombol Backspace keyboard asli, dan simbol yang tidak dapat dihapus akan menimbulkan kebingungan, karena pengguna akhir tidak akan dapat menentukan apakah itu perilaku yang dirancang atau bug. "Mengapa tepatnya tombol Backspace saya tidak berfungsi?" — dan Anda tidak dapat memberikan petunjuk yang jelas.

Dari perspektif desain perpustakaan kami, jelas bahwa pengembang mungkin menempatkan simbol "tetap" di tengah baris. Tapi apa yang Anda harapkan terjadi ketika pengguna mulai menghapus karakter dari awal baris?

Lebih banyak pertanyaan muncul ketika Anda memutuskan untuk memasukkan tombol Hapus UITextField .
Metode delegasi yang sesuai -textFieldShouldClear() tidak akan mengizinkan Anda untuk mengosongkan sebagian bidang teks Anda, ini dimaksudkan untuk menghapus semua teks. Mengganti atau memperluas perilaku tombol yang jelas adalah keputusan desain yang ambigu dan dengan demikian merupakan tanggung jawab besar untuk perpustakaan kami, karena kami harus mencakup semua kasus penggunaan. Beberapa orang (pengembang dan pengguna ) akan menginginkan tombol hapus asli untuk menghapus semua teks, seseorang akan mengharapkan semua simbol "tetap" tetap ada setelah dihapus, dan yang lain akan menganggap hanya awalan "tetap" yang harus tetap dan "diperbaiki" karakter di tengah baris harus dihapus.

Satu-satunya hal yang dapat saya bantu adalah saran untuk memikirkan tujuan yang ingin Anda capai.
Jangan melawan SDK karena SDK selalu menang.

Semua 3 komentar

Hai @razalur
Terima kasih atas saran Anda. Saya akan kembali dengan umpan balik sedikit kemudian minggu ini, tetap disini!

ada pembaruan?

@TikhonovAlexander hei di sana. @razalur mungkin tertarik juga.

Terima kasih telah mengingatkan saya tentang permintaan fitur ini. Kami sebenarnya melakukan pembicaraan singkat dengan dua penginjil dari Apple tentang memiliki teks yang tidak dapat diedit di dalam bidang teks.

TL;DR: Kami tidak akan mendukung fitur ini.

Itu tidak melanggar HIG secara langsung meskipun itu adalah ide yang buruk untuk membatasi kontrol pengguna atas aplikasi dan mengambil alih pengambilan keputusan. Bidang teks asli tidak berperilaku seperti itu, dan iOS SDK sudah memiliki komponen untuk teks statis — a UILabel .

Anda tidak dapat menonaktifkan atau menghilangkan tombol Backspace keyboard asli, dan simbol yang tidak dapat dihapus akan menimbulkan kebingungan, karena pengguna akhir tidak akan dapat menentukan apakah itu perilaku yang dirancang atau bug. "Mengapa tepatnya tombol Backspace saya tidak berfungsi?" — dan Anda tidak dapat memberikan petunjuk yang jelas.

Dari perspektif desain perpustakaan kami, jelas bahwa pengembang mungkin menempatkan simbol "tetap" di tengah baris. Tapi apa yang Anda harapkan terjadi ketika pengguna mulai menghapus karakter dari awal baris?

Lebih banyak pertanyaan muncul ketika Anda memutuskan untuk memasukkan tombol Hapus UITextField .
Metode delegasi yang sesuai -textFieldShouldClear() tidak akan mengizinkan Anda untuk mengosongkan sebagian bidang teks Anda, ini dimaksudkan untuk menghapus semua teks. Mengganti atau memperluas perilaku tombol yang jelas adalah keputusan desain yang ambigu dan dengan demikian merupakan tanggung jawab besar untuk perpustakaan kami, karena kami harus mencakup semua kasus penggunaan. Beberapa orang (pengembang dan pengguna ) akan menginginkan tombol hapus asli untuk menghapus semua teks, seseorang akan mengharapkan semua simbol "tetap" tetap ada setelah dihapus, dan yang lain akan menganggap hanya awalan "tetap" yang harus tetap dan "diperbaiki" karakter di tengah baris harus dihapus.

Satu-satunya hal yang dapat saya bantu adalah saran untuk memikirkan tujuan yang ingin Anda capai.
Jangan melawan SDK karena SDK selalu menang.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

caioremedio picture caioremedio  ·  6Komentar

KompoD picture KompoD  ·  5Komentar

beltik picture beltik  ·  6Komentar

SteynMarnus picture SteynMarnus  ·  11Komentar

MrJox picture MrJox  ·  11Komentar