Input-mask-ios: احصل على السلسلة الأصلية

تم إنشاؤها على ٢٧ سبتمبر ٢٠١٧  ·  6تعليقات  ·  مصدر: RedMadRobot/input-mask-ios

كيف تحصل على السلسلة الأصلية؟
على سبيل المثال ، لدي قناع {(123)} - [000] ونص حقل النص هو "(123) 456 ، أريد الحصول على ما يدخله المستخدم بالضبط ، هو هذه الحالة - 456.

question

ال 6 كومينتر

ياbeltik
شكرا على سؤالك.

MaskedTextFieldDelegate لديه مستمع بطريقة رد الاتصال textField(_:didFillMandatoryCharacters:didExtractValue:) ، حيث "القيمة المستخرجة" هي المتغير الذي تبحث عنه ، راجع قسم الاستخدام للحصول على تفاصيل التنفيذ.

شكرا.
أرغب أيضًا في إضافة أي حرف أو رقم أو رمز إلى مدخلات المستخدم.
حاليًا للقيام بذلك ، أقوم بسحب المكتبة إلى موضوعي وتعديلها.
السبب هو أنني كنت بحاجة إلى رموز مثل ".٪ @؟" إلخ.

beltik ،

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

ملاحظة أيضًا ، وفقًا لتنسيق القناع الخاص بك ، مقابل {(123)}-[000] ستحصل على قيمة ناتجة مثل (123)000 ، مع تضمين بادئة (123) .

لحذفها ، يجب عليك تضمين تنسيق مثل (123)-[000] .

تضمين التغريدة

إذا كان لدي قناع مثل [-] أو [_] يمكنني فقط إدخال أحرف أو أرقام ، ولكن ماذا عن الرموز مثل النقطة؟ حاليًا لا يمكنني كتابة النقطة والرموز الأخرى في الحقل.

لإضافة هذه القدرة ، قمت بسحب المكتبة من البودات إلى المشروع وتعديلها. هناك طريقة تقوم بإرجاع مجموعة أحرف محددة فقط تعتمد على حالة التعداد ، فأنا ببساطة أعلق عليها وأعيد نعم (لأنها تناسب احتياجاتي). لكن الحل الأفضل هو إضافة شيء مثل ["مفتاح محدد"] يسمح بتعديل جميع الرموز.

اسمحوا لي أن أحاول أن أشرح مرة أخرى. أحتاج إلى القدرة على إضافة رموز مثل "،" أو ".".
للقيام بذلك ، قمت بنسخ مكتبة إلى مشروعي ، وفي الفئة ، يقبل ValueState في func func (حرف char: Character) -> Bool {
لقد استبدلت الكود بما يلي:
حالة ألفا رقم:
// إرجاع CharacterSet.alphanumerics.isMember (حرف: char)
العودة صحيحة

لكن ، بالطبع ، أفضل إضافة حالة إضافية ، مثل حالة كل حرف. وهذه الميزة التي أطلبها (أو ربما هناك طريقة أبسط ولكني لم أجدها).
آمل أن أوضح نفسي.

تم التنفيذ في 3.3.0 .

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات