【问题标题】:Is it possible to change the default InputView in MonoTouch?是否可以更改 MonoTouch 中的默认 InputView?
【发布时间】:2011-01-08 02:21:17
【问题描述】:

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

根据the documentation for UITextField.InputView

为此分配一个自定义视图 属性导致该视图 改为呈现。

但是,它是只读的!!!

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

【问题讨论】:

    标签: iphone xamarin.ios inputview


    【解决方案1】:

    文档有点过时了。从 MonoTouch 3.2.0 开始就有了一个 setter。

    【讨论】:

    • 我使用的是 3.1.3。我刚开始更新到 3.2.4,它现在可以工作了 - 谢谢!!
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2013-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-22
        • 2010-09-19
        • 1970-01-01
        • 2018-08-19
        相关资源
        最近更新 更多