- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经实现了一个复杂的 UITextInput,它在 iOS 上运行良好,但缺少一个功能:
请注意,我指的不是 Mac 上标记为 Delete 的键,它只是一个退格键——它已经可以正常工作,使用 UIKeyInput deleteBackward 方法的实现。
两个问题:
iOS 是否可以正确处理 Forward Delete(例如带有 Fn + Delete 的蓝牙 Mac 硬件键盘也不是退格键,而是 Forward Delete)。这适用于我的 Mac 笔记本电脑吗? (答案似乎是肯定的,因为我刚刚在 Safari 模拟器中的硬件键盘(我的主机 Mac 开发机器)上测试了 Forward Delete。)
如果在其他应用程序中可行且常见,我该如何拦截此按键命令?我找不到要作为字符串发送的内容来创建 UIKeyCommand,也找不到任何有意义的 API 方法来以简单的方式执行此操作。
另请注意,选择文本并按下 Forward Delete 键已经在此自定义文本编辑器中正常工作,因此 iOS 似乎知道此键。
仅供引用,这段代码是用 C# 编写的,但也欢迎用 Swift 或 Objective-C 回答第 (2) 部分的问题。
(我目前最好的猜测可能是尝试弄乱 this question 中的代码?——似乎真的很头疼,只是为了获得这个相当常见的 key ?)
更新:
现在按 Delete(右键删除而不是退格)以某种方式在 iOS 上工作,至少在模拟器上是这样。这可能是 TextInput 系统中的一个错误,因为现在当我按下右删除键时,系统调用我的代码来选择光标右侧的单个字符,然后调用我的 DeleteBackwards 代码来删除选择(哪个代码知道如何删除选定的文本)。奇怪但很高兴这现在按预期工作,“开箱即用”。
最佳答案
您可以使用 Unicode 代码点 0x7f
,例如在 Swift 中:
UIKeyCommand(input: "\u{7f}", modifierFlags: [], action: #selector(forwardDelete))
objective-C :
[UIKeyCommand keyCommandWithInput:[NSString stringWithFormat:@"%C", 0x7f] modifierFlags:0 action:@selector(forwardDelete)]
关于iOS UITextInput 控件 : Receiving forward-delete key from hardware keyboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57634683/
有没有办法说服 iOS 将标准手势识别器附加到实现 UITextInput 的自定义 View ? 我已经实现了UITextInput的所有方法,我正在绘制选择,光标并标记自己。我发现长按标记文本会显
我正在为 iOS 开发一个自定义键盘,使用 UIInputViewController 我实现了以下方法:textWillChange、textDidChange。 我想知道用户何时更改当前文本字段并
我正在尝试开发一个键盘,它应该使用与默认字体不同的字体。这是行: override func textDidChange(textInput: UITextInput?) { textI
我对 VoiceOver 播报我的自定义 UITextInput 的方式有疑问虽然它具有键盘焦点:当通过向左/向右滑动将辅助功能焦点移动到 UITextInput View 时,VoiceOver 正
我有一个自定义的基于 UITextInput 的文本编辑器。它工作得很好,除了通过标记文本进行多阶段输入。 我的标记区域正确呈现,并且插入了标记文本,但键盘上方的候选列表是空白的。 例如,这是在标准
我是 swift 的初学者。我有 class A : UIViewController { var textInput: UITextInput init(textInput: UITextInput
我有一个实现 UITextInput 的 View ,我添加了对撤消的支持。现在,每个单独的击键或退格键都被记录为一个可撤销的事件。 我知道我可以对事件进行分组,并且可以通过第一次击键打开一个撤消组。
我们如何实现 UITextInput Protocol 中的 SelectionRectsForRange: ?有人弄清楚这个了吗?它是否非常依赖于特定的用例需求?或者框架中有什么东西会调用这个方法?
我有一个带有实现 UITextInput 协议(protocol)的自定义文本编辑器的应用程序。在 iOS 6 中,Apple 向协议(protocol)添加了一个新的必需方法: - (NSArray
我正在实现一个自定义文本输入 View ,它采用UITextInput协议(protocol),当使用UITextView时,双击一个单词使单词被选中,我想知道如何UITextInput 使用它的 t
UIKit 文本输入组件,例如 UITextView 和 UITextField 有一个属性 inputView 来添加自定义键盘。我有两个与此相关的问题。 如果键盘当前可见并且该属性设置为新的输入
好的,所以我知道 Apple 的 UITextInput 协议(protocol)需要两个 UITextRange 属性 selectedTextRange 和 markedTextRange 以及文
我想自定义 iOS 键盘行为以适应其显示的应用内的 UITextInput。 例如,当有人在 Safari 中输入 URL 时,键盘的返回键应该改为“Go”,自动更正和自动大写都应该拼写。 我查看了
我想在点击完成按钮时关闭键盘。 UITextInput 协议(protocol)中是否有一些函数可以用来关闭键盘? 谢谢大家的回答~ 最佳答案 这很简单 [textField resignFirstR
当我长按删除键时,我试图删除文本字段中的整个单词。 我尝试运行一个 while 循环来检查空格 (""),然后删除任何与空格 ("") 不匹配的字符 - 但是... 1) 我不确定我尝试搜索文本字段的
我有两个 UITextInput 控件,我想计算其中的字符数。 对于上下文,我有两个输入:一个用于电子邮件地址,一个用于密码。我还有一个“登录”按钮。该按钮默认处于非事件状态,但只要在两个输入中都输入
我想以编程方式设置标记的文本,因为 iOS5 UITextView 和 UITextField 符合 UITextInput 这应该是可能的,但出于某种原因,我总是将 markedText 设置为 n
我是 ios 的新手。我有以下代码来更改要加入的键盘的返回键类型。它在 ios6 中工作正常,但在 ios7 中不工作。 if block 中的代码永远不会在 ios7 上执行。 有人遇到过类似的问题
在 UITextView 中标记文本,但出于某种原因它拒绝接受我使用 setMarkedTextStyle 提供的任何内容。 -markedTextStyle 始终返回 nil,并且标记的文本始终看起
Apple 提供了一个基于 UIView 实现 UITextInput 的例子。我尝试基于 UITextView/UITextField 做同样的事情但失败了。这就是为什么? 谢谢 最佳答案 Appl
我是一名优秀的程序员,十分优秀!