【发布时间】:2016-09-07 13:30:25
【问题描述】:
请考虑以下代码:
override var keyCommands: [UIKeyCommand]? {
var commands:[UIKeyCommand] = []
let numbers = ["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
for number in numbers {
let txt = number as String
commands.append(UIKeyCommand(input: txt, modifierFlags: [], action: #selector(keyPressed(_:))))
}
commands.append(UIKeyCommand(input: "\r", modifierFlags: [], action: #selector(enterPressed)))
return commands
}
由于某种原因,只有数字被读取。这适用于模拟键盘的蓝牙条形码扫描仪。是 keyCommands 无法读取字母字符还是我做错了什么?
【问题讨论】:
-
条形码是否包含小写字母?
-
不。全部大写。我什至尝试让数组只包含一个 X(我的测试条形码中的一个值),但它仍然没有读取它。
-
您是否在某处将 UIKeyboardType 设置为全数字键盘?
-
我看到有一个Shift modifier。这让我觉得您可能必须使用小写字母 + 修饰符才能获得大写字母。
-
Shift 修饰符就是答案。谢谢!我不得不将字母保留为大写,但现在一切正常。
标签: ios swift uikeycommand