0

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

根据UITextField.InputView 的文档

将自定义视图分配给此属性会导致显示该视图。

但是,它是只读的!

有解决方法吗?我是否需要实现自定义 UITextField 控件并以某种方式覆盖 InputView 属性?我需要调用某种本机函数吗?我真的很想不必做这两件事……但如果我必须这样做,那就这样吧。提前致谢!

4

3 回答 3

2

文档有点过时了。自 MonoTouch 3.2.0 以来就有一个 setter。

于 2011-01-07T18:21:17.107 回答
1

凯文的回答适用于 UIKeyboardType 键盘,但据我所知(我可能是错的)你不能以这种方式呈现自定义键盘。

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

UIView keyboardView;

public override UIView InputAccessoryView {
   get 
   {
       // create the view as you'd like here
       return keyboardView;
   }
}
于 2011-01-07T16:51:53.997 回答
0

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

UITextField tf;
...
tf.KeyboardType = UIKeyboardType.PhonePad; // whatever kb you want
于 2011-01-07T16:42:36.510 回答