gpt4 book ai didi

iOS 自定义键盘类型

转载 作者:行者123 更新时间:2023-11-28 21:06:53 24 4
gpt4 key购买 nike

我正在研究自定义键盘,但 Apple 审核团队拒绝了它,因为该键盘不支持“数字和小数”类型。

因此,我发现问题在于,当文本字段需要那些特定类型的键盘时(例如插入年龄、度量或其他数值),我的键盘“未响应”。

我从 Apple 文档中了解到,您必须响应每个文本对象的 UIKeyboardTpye 属性。

我搜索了 UIInputViewController 的特定委托(delegate),但找不到与之相近的内容。

在这个论坛中,我发现检查当前所需键盘类型的一个好地方是 textDidChange: 委托(delegate),但是,它没有被调用。

我想当您的键盘以某种方式向 iOS“声明”它可以处理数字或小数类型时,将调用此响应程序。事实上,我创建了一个简单的应用程序,其中包含一个需要十进制键盘类型的简单 UITextView:

textView.keyboardType = UIKeyboardTypeDecimalPad;

然后我在键盘扩展 Input View Controller textDidChange: 委托(delegate)中放置了一个 NSLog()

当我点击 TextView 时,我的委托(delegate)没有被调用,而是显示了标准的十进制小键盘,并且在 Xcode 控制台中我看到了以下消息:

Can't find keyplane that supports type 8 for keyboard iPhone-Portrait-DecimalPad; using 405786210_Portrait_iPhone-Simple-Pad_Default

我还注意到,当 UITextView 需要不允许的键盘类型(即电话键盘)时,会出现此消息。所有其他键盘类型都不会发出该消息,并且会显示自定义键盘并且会正确调用 textDidChange: 委托(delegate)。

Numbers 和 Decimal 类型当然是允许的,并且对于审查团队成员来说是必须的。为什么行为像禁止类型?

我认为我们需要“声明”,例如在 info.plist 中,我们的扩展程序支持各种键盘类型,但是......或者更简单地说......我不明白点...所以...我在问...如何将多种键盘类型添加到我的键盘扩展?

非常感谢您的帮助!

最佳答案

在第二次拒绝我的键盘扩展后,他们给我发了一张截图。我注意到他们通常在 iPad 上测试应用程序。这让我想到。

经过一些测试后发现,数字和小数类型在 iPhone 和 iPad 上的响应方式不同。

在 iPhone 上,需要数字或十进制类型键盘的 TextView 始终显示 iOS 键盘,即不会调用自定义扩展。

另一方面,在 iPad 上,需要数字或十进制类型键盘的 TextView 会激活自定义扩展。

最后,在提供了一个标准的数字键盘(即使我的键盘使用手写技术)后,它被批准了。

关于iOS 自定义键盘类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45332454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com