【问题标题】:Numeric keyboard with decimal separator带小数分隔符的数字键盘
【发布时间】:2010-11-13 03:05:00
【问题描述】:

如何获得带小数点分隔符的数字键盘?目前我被 UIKeyboardNumberPad 卡住了。

【问题讨论】:

    标签: iphone objective-c keyboard uitextfield


    【解决方案1】:

    你可以试试这个

    UIKeyboardTypeDecimalPad

    【讨论】:

    • 谢谢,这让生活更轻松。
    【解决方案2】:
    typedef enum {
       UIKeyboardTypeDefault,
       UIKeyboardTypeASCIICapable,
       UIKeyboardTypeNumbersAndPunctuation,
       UIKeyboardTypeURL,
       UIKeyboardTypeNumberPad,
       UIKeyboardTypePhonePad,
       UIKeyboardTypeNamePhonePad,
       UIKeyboardTypeEmailAddress,
       UIKeyboardTypeDecimalPad,
       UIKeyboardTypeTwitter,
       UIKeyboardTypeWebSearch,
       UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable // Deprecated
    } UIKeyboardType;
    

    如果你不喜欢这些,你可以随时在代码中修改它们......

    http://openradar.appspot.com/6635276

    这有一个解决方案: http://www.iphonedevsdk.com/forum/iphone-sdk-development/6573-howto-customize-uikeyboard.html

    【讨论】:

    • 我知道这是一个老话题,但是任何遇到这个问题的人都应该注意,从 iOS 4.1 开始,在该枚举中定义了一个新的 UIKeyboardType,称为 UIKeyboardTypeDecimalPad。
    • 如果您希望能够输入正负十进制数,有什么好的解决方案吗?
    【解决方案3】:

    UIKeyboardTypeNumbersAndPunctuation 可能是最不坏的选择,除非您有时间和资源来滚动自己的键盘。

    【讨论】:

      【解决方案4】:

      iPhone SDK 目前不提供键盘 (0-9) + 十进制按钮 UIKeyboard。我怀疑这是设计的,因为对于大多数用例来说,它是不需要的。

      参见this previous StackOverflow question 讨论货币输入是否需要小数点分隔符。我还写了一个 blog post 关于这个话题。

      但是,如果您确实需要小键盘 + 十进制按钮键盘,您唯一的选择就是滚动您自己的自定义键盘。与 sbwoodside 的回答相反,您真的想回避自定义现有的 UIKeyboard。虽然这可能很容易做到,但它依赖于可以随时更改的私有类……这意味着您的 hack 将来可能会在没有警告的情况下被破坏。

      【讨论】:

      • 不幸的是,在我的情况下,我没有处理固定的小数位,所以我确实需要一个小数点。您在博客文章中的解决方案现在可以正常工作。您的解决方案仅适用于某些情况。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 2018-12-16
      • 1970-01-01
      • 1970-01-01
      • 2011-04-18
      • 2016-10-29
      • 2015-01-15
      相关资源
      最近更新 更多