【发布时间】:2016-12-18 22:11:09
【问题描述】:
在 iOS 10.0 beta 4 for iPhone (XCode 8 beta 5) 中,当用户点击数字键盘文本字段或小数键盘文本字段时,将显示系统的数字或小数键盘,而不是属于键盘的数字或小数键盘延期。至少我的键盘扩展和 Xcode 提供的骨架自定义键盘扩展是这样。
此外,当用户在我的测试程序中点击数字键盘文本字段或小数键盘文本字段时,控制台会显示此消息(这是数字键盘的版本,类型 4):
2016-08-11 21:58:43.007 TestNumberPad[34090:1780242] Can't find keyplane that supports type 4 for keyboard iPhone-PortraitChoco-NumberPad; using 1144316255_PortraitChoco_iPhone-Simple-Pad_Default
这是我的测试程序的结果。默认键盘扩展应出现在所有 3 种情况下。
这是我的 3 个文本字段的属性检查器条目的顶部
这里是 ViewController.swift
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var defaultField: UITextField! // 'tag' property = 3
@IBOutlet weak var numberField: UITextField! // 'tag' property = 4
@IBOutlet weak var decimalField: UITextField! // 'tag' property = 5
override func viewDidLoad() {
super.viewDidLoad()
defaultField.delegate = self
numberField.delegate = self
decimalField.delegate = self
// I TRIED AN ALTERNATE TEST, WHERE I SPECIFY THE KEYBOARD TYPE PROGRAMMATICALLY, NOT IN THE IB:
//
// 1. IN THE INTERFACE BUILDER, SET ALL 3 KEYBOARD TYPES TO 'DEFAULT'.
// 2. UNCOMMENT THE CODE BELOW
//
// UNFORTUNATELY, THE RESULTS ARE THE SAME
//
// defaultField.keyboardType = UIKeyboardType.default
// numberField.keyboardType = UIKeyboardType.numberPad
// decimalField.keyboardType = UIKeyboardType.decimalPad
}
func textFieldDidBeginEditing(_ textField: UITextField) {
switch textField.tag {
case 3: print("Tapped default field")
case 4: print("Tapped number pad")
case 5: print("Tapped decimal pad")
default:
print("Text field doesn't have a tag!!")
}
}
}
最后,这是按顺序点击默认字段、数字键盘字段和小数键盘字段时的控制台输出。
点击默认字段 2016-08-12 11:13:08.561083
TestNumberPad[2201:221335] [MC] 系统组容器 systemgroup.com.apple.configurationprofiles 路径是 /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2016-08-12 11:13:08.563097 TestNumberPad[2201:221335] [MC] 阅读 来自公共有效的用户设置。
2016-08-12 11:13:08.799888 TestNumberPad[2201:221335] [App] 如果我们在真正的预提交中 由于 CA 限制,我们实际上无法添加任何新的栅栏
点击数字键盘
2016-08-12 11:13:15.070750 TestNumberPad[2201:221335] 找不到支持类型 4 的键盘 用于键盘 iPhone-Portrait-NumberPad;使用 160517473_Portrait_iPhone-Simple-Pad_Default
点击小数点
2016-08-12 11:13:17.627520 TestNumberPad[2201:221335] 找不到 键盘 iPhone-Portrait-DecimalPad 支持 type 8 的键盘; 使用 405786210_Portrait_iPhone-Simple-Pad_Default
App Store 审核指南仍要求自定义键盘提供数字键盘和小数键盘,因此这似乎是一个重要问题。
【问题讨论】:
标签: iphone ios-app-extension custom-keyboard ios10