【问题标题】:How can I force my app to use my custom keyboard?如何强制我的应用使用我的自定义键盘?
【发布时间】:2015-06-18 13:39:54
【问题描述】:

我已经构建了一个自定义键盘,但我不希望人们转到 设置 > 常规。选择键盘,然后单击添加键盘,我希望人们只需打开应用程序,当某个文本字段获得焦点时,我的自定义键盘就会出现。

我怎样才能做到这一点?

【问题讨论】:

  • 很遗憾你不能这样做,这里有一个类似的问题 - stackoverflow.com/questions/24796223/…
  • 尝试将您的自定义键盘视图设置为 textField [txtField setInputView:yourCustomKeyBoardView];
  • 似乎是我想要的,如果这是我想要的,我会关闭问题@SharonNathaniel。
  • 嗯,你试过@SweetAngel 吗?

标签: ios swift custom-keyboard


【解决方案1】:

你做不到。用户必须从设置中选择键盘。您不能强制用户使用您的键盘。

有关更多信息,请查看苹果为自定义键盘提供的文档:https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Keyboard.html

也有一些优点和缺点。

【讨论】:

  • 好的,有什么棘手的方法可以得到相同的结果吗?我希望键盘只显示必要的东西......在这种情况下,数字(主要字符),从“A”到的字母'F' 和这些字符:' / ', ' 。 ', ' : ', ' :: '
  • 错误,尝试使用 Swiftkey,他们强迫用户在他们的应用程序中使用 Swiftkey 键盘。
  • @TomSawyer 您可以为此添加答案吗?
【解决方案2】:

您不能强迫用户选择您的键盘。 如果真的很重要,您可以添加一个自定义视图作为文本字段的输入,并在该视图中实现您的键盘。

祝你好运。

【讨论】:

  • 你能举个例子吗?,你的意思是在文本域的焦点中不会显示键盘,它将是一个静态视图?
  • 是的,因为您可以将输入视图切换到选择器视图,您也可以分配任何其他视图。只需将您创建的视图分配给您的 UITextfield(即 _txtField.inputView = self.customInputView)。
  • 我以此为例来构建自己的键盘作为输入视图:github.com/suragch/MongolAppDevelopment-iOS希望对您有所帮助
【解决方案3】:

您不能强迫用户使用您的自定义键盘。如果用户选择您的自定义键盘表单设置,那么他们可以使用您的自定义键盘,但如果不从设置中选择您的自定义键盘,他们将无法使用您的自定义键盘。

如果您的textField 需要一些特殊类型的输入,那么您可以通过选择您的textField 为它设置键盘 转到 keyBoard 类型的属性检查器,您可以找到苹果提供的一些默认键盘,如下图所示:

您可以从这里使用任何键盘。

如果你想以编程方式设置它,你可以这样做:

yourTextField.keyboardType = .NumberPad

这是keyboardTypeUITextField 属性:

enum UIKeyboardType : Int {

    case Default // Default type for the current input method.
    case ASCIICapable // Displays a keyboard which can enter ASCII characters, non-ASCII keyboards remain active
    case NumbersAndPunctuation // Numbers and assorted punctuation.
    case URL // A type optimized for URL entry (shows . / .com prominently).
    case NumberPad // A number pad (0-9). Suitable for PIN entry.
    case PhonePad // A phone pad (1-9, *, 0, #, with letters under the numbers).
    case NamePhonePad // A type optimized for entering a person's name or phone number.
    case EmailAddress // A type optimized for multiple email address entry (shows space @ . prominently).
    @availability(iOS, introduced=4.1)
    case DecimalPad // A number pad with a decimal point.
    @availability(iOS, introduced=5.0)
    case Twitter // A type optimized for twitter text entry (easy access to @ #)
    @availability(iOS, introduced=7.0)
    case WebSearch // A default keyboard type with URL-oriented addition (shows space . prominently).
}

希望对你有所帮助。

【讨论】:

  • 嗯,问题是我只需要这些字符 [ 数字(主要字符)、从 'A' 到 'F' 的字母以及这些字符:' / '、' 。 ', ' : ', ' :: ' ]
猜你喜欢
  • 1970-01-01
  • 2015-08-02
  • 2010-11-11
  • 2011-02-17
  • 1970-01-01
  • 1970-01-01
  • 2016-01-31
  • 1970-01-01
  • 2016-03-04
相关资源
最近更新 更多