2011-01-07 49 views
0

我想显示比标准键盘不同的图(a选取器控件,或日期选择器,例如)当一个文本字段变为第一响应(即获得焦点)。这将非常好,因为目前我将包含我的选取器控件的自定义视图推送到用户选择选项的导航堆栈上,然后点击“确定”或“取消”按钮。是否可以更改MonoTouch中的默认InputView?

根据the documentation for UITextField.InputView

分配一个自定义视图此 属性将导致该视图中 呈现代替。

但是,它是只读的!

对此有一个解决方法吗?我是否需要实现自定义UITextField控件并以某种方式覆盖InputView属性?我是否需要调用某种本地函数?我真的很喜欢不得不做的任何这些东西,但如果我必须这样做,就这样吧。提前致谢!

回答

2

该文档略有过时。自从MonoTouch 3.2.0以来,有一个安装程序。

+0

我一定不能使用最新版本的...谢谢。 – Pwninstein

+0

我正在使用3.1.3。我刚刚升级到3.2.4版本,现在可以运行 - 谢谢! – Pwninstein

0

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

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

Kevin's answer将努力为UIKeyboardType键盘,但据我所知(我可能是错的),你不能提出一个自定义键盘这种方式。

我知道如何呈现的自定义键盘的唯一方法是重写InputView您希望存在于输入视图中的UIViewController

UIView keyboardView; 

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