是否可以在MonoTouch中更改默认的InputView?

时间:2011-01-07 16:18:23

标签: iphone xamarin.ios inputview

当文本字段成为第一响应者(即获得焦点)时,我想显示与标准键盘(例如选择器控件或日期选择器)不同的视图。这将是非常好的,因为目前我正在将包含我的选择器控件的自定义视图推送到用户选择选项的导航堆栈,然后点击“确定”或“取消”按钮。

根据the documentation for UITextField.InputView

  

为此分配自定义视图   属性导致该视图   提出来了。

但是,这是只读!!!

有解决方法吗?我是否需要实现自定义UITextField控件并以某种方式覆盖InputView属性?我需要调用某种原生功能吗?我真的很喜欢来做这些事情中的任何一件......但如果我必须这样做,那就这样吧。提前谢谢!

3 个答案:

答案 0 :(得分:2)

文档略有过时。自MonoTouch 3.2.0起就有了一个设定器。

答案 1 :(得分:1)

Kevin's answer适用于UIKeyboardType键盘但据我所知(我可能错了)你不能以这种方式呈现自定义键盘。

我知道如何呈现自定义键盘的唯一方法是覆盖您希望呈现输入视图的UIViewController的InputView。

UIView keyboardView;

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

答案 2 :(得分:0)

连接UITextField以处理相应的编辑事件,并在事件处理程序中选择所需的KeyboardType。如果您不需要动态设置它,那么您可以在创建文本字段时设置属性。

UITextField tf;
...
tf.KeyboardType = UIKeyboardType.PhonePad; // whatever kb you want