سؤال

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

وفق الوثائق لـ uitextfield.inputView:

تخصيص عرض مخصص لهذه الخاصية يسبب عرض العرض بدلاً من ذلك.

ولكن، إنه يقرأ فقط !!!

هل هناك حل بديل لهذا؟ هل أحتاج إلى تنفيذ عنصر تحكم uitextfield مخصص وتجاوز خاصية InputView بطريقة ما؟ هل أحتاج إلى استدعاء نوع من الوظائف الأصلية؟ أنا حقا أحب ليس أن تفعل أيًا من هذه الأشياء ... ولكن إذا اضطررت إلى ذلك ، فليكن ذلك. شكرا مقدما!

هل كانت مفيدة؟

المحلول

الوثائق قديمة قليلاً. هناك Setter منذ Monotouch 3.2.0.

نصائح أخرى

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

الطريقة الوحيدة التي أعرف بها كيفية تقديم لوحة مفاتيح مخصصة هي تجاوز InputView لـ UIViewController كنت ترغب في تقديم عرض الإدخال.

UIView keyboardView;

public override UIView InputAccessoryView {
   get 
   {
       // create the view as you'd like here
       return keyboardView;
   }
}

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

UITextField tf;
...
tf.KeyboardType = UIKeyboardType.PhonePad; // whatever kb you want
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top