gpt4 book ai didi

ios - 在 UITextField 中检测退格事件

转载 作者:IT王子 更新时间:2023-10-29 05:05:30 27 4
gpt4 key购买 nike

我正在寻找有关如何捕获退格事件的解决方案,大多数 Stack Overflow 答案都是用 Objective-C 编写的,但我需要使用 Swift 语言。

首先,我为 UITextField 设置了委托(delegate)并将其设置为 self

self.textField.delegate = self;

然后我知道使用 shouldChangeCharactersInRange 委托(delegate)方法来检测是否按下了退格键,所有代码都在 Objective-C 中。我需要在 Swift 中使用以下这些方法。

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
const char * _char = [string cStringUsingEncoding:NSUTF8StringEncoding];
int isBackSpace = strcmp(_char, "\b");

if (isBackSpace == -8) {
// NSLog(@"Backspace was pressed");
}

return YES;
}

最佳答案

swift 4.2

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if let char = string.cString(using: String.Encoding.utf8) {
let isBackSpace = strcmp(char, "\\b")
if (isBackSpace == -92) {
print("Backspace was pressed")
}
}
return true
}

旧的 Swift 版本

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let char = string.cStringUsingEncoding(NSUTF8StringEncoding)!
let isBackSpace = strcmp(char, "\\b")

if (isBackSpace == -92) {
println("Backspace was pressed")
}
return true
}

关于ios - 在 UITextField 中检测退格事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29504304/

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