gpt4 book ai didi

ios - iOS-单击按钮时删除文本字段中的数字

转载 作者:行者123 更新时间:2023-12-01 17:55:18 25 4
gpt4 key购买 nike

我想在单击按钮时从文本字段中删除字符。当我从最后一个位置删除字符时,这对我有用,但是无法从随机位置删除字符。
谁能帮我解决这个问题

编辑

目前我有:

- (IBAction)clearTextKeyPressed:(id)sender {
NSString *enteredText = [NSString stringWithFormat:@"%@", self.targetTextField.text];
if ( [enteredText length] > 0) {
enteredText = [enteredText substringToIndex:[enteredText length] - 1];
self.targetTextField.text = [NSString stringWithFormat:@"%@", enteredText];
[self.numericGridKeypadDelegate textFieldDidChange:self.targetTextField];
}
}

使用这个我能够删除最后一个位置的字符,我也想从任何位置删除字符

注意
字符只能是0-9之间的数字

最佳答案

干得好。我将其归为NSString的类别。

- (NSString*)deleteCharacterAtPosition:(int)position inString:(NSString*)myString {
NSMutableString *mutableString = [myString mutableCopy];
[mutableString deleteCharactersInRange:NSMakeRange(position, 1)];
return mutableString;
}

如果您不想删除任何数字。然后,在调用此函数之前,应检查该位置是否具有非数字字符。

或者您可以这样做:
- (NSString*)deleteCharacterAtPosition:(int)position inString:(NSString*)myString {
NSRange range;
range.location = position;
range.length = 1;
return [test stringByReplacingCharactersInRange:range withString:@""];
}

这是检查位置是否为数字的方法:
- (bool)isCharacterAtPositionADigit:(int)position inString:(NSString*)myString {
unichar c = [myString characterAtIndex:position];
NSCharacterSet *numericSet = [NSCharacterSet decimalDigitCharacterSet];
if ([numericSet characterIsMember:c]) {
return true;
}
return false;
}

现在这是您想要的:
- (IBAction)clearTextKeyPressed:(id)sender {
NSString *enteredText = [NSString stringWithFormat:@"%@", self.targetTextField.text];
int positionToDelete = 3;
if ( [enteredText length] > 0 && [enteredText length] >= positionToDelete) {
if (![self isCharacterAtPositionADigit:positionToDelete inString:enteredText])
return;
NSString* finalText = [self deleteCharacterAtPosition:positionToDelete inString:enteredText];
self.targetTextField.text = finalText;
[self.numericGridKeypadDelegate textFieldDidChange:self.targetTextField];
}
}

关于ios - iOS-单击按钮时删除文本字段中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19093639/

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