Input-mask-ios: Dapatkan string asli

Dibuat pada 27 Sep 2017  ·  6Komentar  ·  Sumber: RedMadRobot/input-mask-ios

Bagaimana cara mendapatkan string asli?
Misalnya, saya memiliki mask {(123)}-[000] dan teks bidang teks adalah "(123)456, saya ingin mendapatkan apa yang sebenarnya dimasukkan pengguna, apakah itu - 456.

question

Semua 6 komentar

Hai @beltik
Terima kasih atas pertanyaan Anda.

MaskedTextFieldDelegate memiliki pendengar dengan metode panggilan balik textField(_:didFillMandatoryCharacters:didExtractValue:) , di mana «nilai yang diekstraksi» adalah variabel yang Anda cari, lihat bagian Penggunaan untuk detail implementasi.

Terima kasih.
Saya juga ingin fitur untuk menambahkan karakter atau angka atau simbol apa pun ke input pengguna.
Saat ini untuk melakukan itu, saya menyeret perpustakaan ke objek saya dan dimodifikasi.
Alasannya adalah, saya membutuhkan simbol seperti ".%@?" dll.

@beltik ,

Saya tidak yakin saya mengerti Anda dengan benar, tetapi ada permintaan fitur tentang karakter khusus, dan pekerjaan saat ini sedang berlangsung.

Ps Juga, menurut format topeng Anda, untuk {(123)}-[000] Anda akan menerima nilai yang dihasilkan seperti (123)000 , dengan awalan (123) disertakan.

Untuk menghilangkannya, Anda harus memasukkan format seperti (123)-[000] .

@taflanidi

Jika saya memiliki topeng seperti [-] atau [_] saya hanya dapat memasukkan huruf atau angka, tetapi bagaimana dengan simbol seperti titik? Saat ini saya tidak dapat mengetikkan titik dan simbol lainnya di bidang.

Untuk menambahkan kemampuan itu, saya menyeret perpustakaan dari pod ke proyek dan memodifikasinya. Ada metode yang hanya mengembalikan set karakter tertentu tergantung pada kasus enum, saya cukup berkomentar dan mengembalikan YA (karena sesuai dengan kebutuhan saya). Tetapi solusi yang lebih baik adalah menambahkan sesuatu seperti ["kunci khusus"] yang memungkinkan untuk mengedit semua simbol.

Coba saya jelaskan lagi. Saya membutuhkan kemampuan untuk menambahkan simbol seperti "," atau ".".
Untuk melakukan itu, saya menyalin perpustakaan ke proyek saya, dan di kelas ValueState di func func accept(character char: Character) -> Bool {
Saya mengganti kode dengan yang berikut:
kasus .AlphaNumeric:
// mengembalikan CharacterSet.alphanumerics.isMember(karakter: char)
kembali benar

Tapi, tentu saja saya lebih suka menambahkan case tambahan, seperti case .everyCharacter. Dan fitur itu saya minta (atau mungkin ada cara yang lebih sederhana tetapi saya tidak menemukannya).
Semoga saya membuat diri saya jelas.

Diimplementasikan dalam 3.3.0 .

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

LinusGeffarth picture LinusGeffarth  ·  4Komentar

TikhonovAlexander picture TikhonovAlexander  ·  3Komentar

KompoD picture KompoD  ·  5Komentar

razalur picture razalur  ·  3Komentar

osterlind picture osterlind  ·  3Komentar