当文本字段成为第一响应者(即获得焦点)时,我想显示与标准键盘(例如选择器控件或日期选择器)不同的视图。这将非常好,因为目前我正在将包含我的选择器控件的自定义视图推送到用户选择选项的导航堆栈上,然后点击确定或取消按钮。
将自定义视图分配给此属性会导致显示该视图。
但是,它是只读的!
有解决方法吗?我是否需要实现自定义 UITextField 控件并以某种方式覆盖 InputView 属性?我需要调用某种本机函数吗?我真的很想不必做这两件事……但如果我必须这样做,那就这样吧。提前致谢!
当文本字段成为第一响应者(即获得焦点)时,我想显示与标准键盘(例如选择器控件或日期选择器)不同的视图。这将非常好,因为目前我正在将包含我的选择器控件的自定义视图推送到用户选择选项的导航堆栈上,然后点击确定或取消按钮。
将自定义视图分配给此属性会导致显示该视图。
但是,它是只读的!
有解决方法吗?我是否需要实现自定义 UITextField 控件并以某种方式覆盖 InputView 属性?我需要调用某种本机函数吗?我真的很想不必做这两件事……但如果我必须这样做,那就这样吧。提前致谢!
文档有点过时了。自 MonoTouch 3.2.0 以来就有一个 setter。
凯文的回答适用于 UIKeyboardType 键盘,但据我所知(我可能是错的)你不能以这种方式呈现自定义键盘。
我知道如何呈现自定义键盘的唯一方法是覆盖UIViewController
您希望呈现输入视图的 InputView。
UIView keyboardView;
public override UIView InputAccessoryView {
get
{
// create the view as you'd like here
return keyboardView;
}
}
连接 UITextField 以处理适当的编辑事件,并在事件处理程序中选择所需的KeyboardType。如果您不需要动态设置它,那么您可以在创建文本字段时设置属性。
UITextField tf;
...
tf.KeyboardType = UIKeyboardType.PhonePad; // whatever kb you want