【问题标题】:custom number pad自定义数字键盘
【发布时间】:2010-01-11 05:45:43
【问题描述】:

我想创建自己的数字键盘以在用户关注文本字段后出现,所以我有两个问题? 1.我使用“界面生成器在我的视图中添加一个文本字段并选择“数字键盘”作为用户输入数字的默认键盘,所以当我单击文本字段时,数字键盘会自动出现,我该如何阻止它出现数字键盘?因为我想显示我的数字键盘。

2.如果我自定义了一个带有数字按钮的视图,当我点击文本字段时如何检测事件?以及在我检测到事件后是否添加子视图来显示我的自定义数字键盘?

谢谢

【问题讨论】:

    标签: iphone objective-c


    【解决方案1】:

    如果您正在创建自定义数字键盘(我假设这意味着一个带有按钮网格的视图),请不要使用 UITextField;隐藏本机键盘没有简单的方法,而且,尽管有这么多麻烦,文本字段也没有提供任何有用的信息。

    我建议创建一个自定义 UIControl 子类。您可以检测视图内的触摸并以这种方式显示您的自定义键盘。文档很好地解释了这一点。

    【讨论】:

    • 我相信他是对的,除非你想做其他事情,否则你不会因为使用 UITextField 而得到任何特别的东西。
    【解决方案2】:

    我有一个部分答案,但不是一个理想的答案,我自己也没有尝试过。查看 UITextFieldDelegate 协议的文档。

    您可以让您的控制器设置 textField.delegate = self,然后让它实现 textFieldShouldBeginEditing 以某种方式显示您的专用键盘,然后返回 NO,这样它就不会进入编辑模式。当你告诉你的特殊键盘显示自己时,将一个对文本字段的引用传递给它,以便它知道在哪里插入字符。问题是这可能不会显示光标,也不会让用户移动光标以插入字符等。

    所以这确实有点难看,但可能就足够了。 AFAIK没有很好的方法来做到这一点:(

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-14
      • 1970-01-01
      • 2017-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      相关资源
      最近更新 更多