【问题标题】:how to detect Number and Decimal Keyboard iOS如何检测数字和十进制键盘iOS
【发布时间】:2014-12-05 05:46:16
【问题描述】:

我正在开发一个自定义键盘,根据 Apple App Store Review 指南,我必须为小数点和数字键盘提供键盘:

Keyboard extensions must provide Number and Decimal keyboard types as described in the App Extension Programming Guide or they will be rejected

所以我必须为十进制和数字文本字段提供一个键盘,那么如何检测文本字段类型。

App Extension Programming Guide 中没有关于数字或十进制键盘的内容,所以如何检测我应该加载哪个文本字段?

【问题讨论】:

  • 你到底在问什么?您引用的句子意味着如果您正在开发自定义键盘,则应提供数字和十进制键盘。如果您正在开发带有文本字段的应用程序,则由您决定在特定文本字段上显示哪个键盘。
  • @p4sh4 是的,这正是我要问的,我正在开发一个自定义键盘,你根据引用的句子我必须为十进制和数字文本字段提供一个键盘,所以我怎么能检测文本字段类型。
  • @p4sh4 我编辑了问题。

标签: ios iphone swift keyboard numpad


【解决方案1】:

您可以在视图出现之前获取当前键盘类型(在 Swift 中)。

   override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)

        // Setup keyboard manager to correct type
        if let inputTraits = self.textDocumentProxy as? UITextInputTraits {
           let keyboardType = inputTraits.keyboardType
           let returnKeyType = inputTraits.returnKeyType
        }
    }

这来自我的项目,但为了清晰起见重新格式化。我也没有编译它,因为它是一个如此简单的例子。

我发现在视图可见或即将出现之前不要信任任何扩展 API 值是好的,但您也可以在 viewDidLoad() 中尝试此操作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-10
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    • 2015-09-09
    • 1970-01-01
    相关资源
    最近更新 更多