gpt4 book ai didi

iphone - UITextField - 在输入第一个字符后添加一个字符

转载 作者:可可西里 更新时间:2023-11-01 03:49:53 25 4
gpt4 key购买 nike

我有一个包含高度值的 UITextField。我想在用户输入 UITextField 时格式化字段的值。例如如果我想输入值“5 英尺 10”,流程将是:

1. Enter 5
2. " ft " is appended immediately after I type 5 with leading & trailing space.

我的代码是这样的:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range       replacementString:(NSString *)string
{

if ( [string isEqualToString:@""] ) return YES;

// currHeight Formatting
if ( textField == currHeight ) {
if (currHeight.text.length == 1) {
currHeight.text = [NSString stringWithFormat:@"%@ ft ", currHeight.text];
}
}
return YES;
}

我卡在输入 5 时没有任何反应。我必须点击任何按钮才能附加“ft ”。

我可以在不点击任何东西的情况下执行此操作吗?

最佳答案

-shouldChangeCharactersInRange 在文本字段发生更改之前被调用,因此长度仍然为 0(请参阅 Using `textField:shouldChangeCharactersInRange:`, how do I get the text including the current typed character?)。试试这个:

- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range
replacementString: (NSString*) string {
if (textField == currHeight) {
NSString *text = [textField.text stringByReplacingCharactersInRange:range
withString: string];
if (text.length == 1) { //or probably better, check if int
textField.text = [NSString stringWithFormat: @"%@ ft ", text];
return NO;
}
}
return YES;
}

关于iphone - UITextField - 在输入第一个字符后添加一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10471648/

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