1

我有一个来自我的一个单元格的 detailView,它就在那里。我有 2 个 UITextField,其中一个我输入 100 之类的值,重点是我希望另一个 UITextField 显示“a+b”值。例如。在我的“a”文本字段中,我有一个值 45,当我输入“b”文本字段时,它应该是动态变化的,当我输入 1 时它应该是 46,当我输入 10 时,它应该是 55、100 - 145 .但我的问题是,它得到“旧”值,所以当我输入10时它只加1,当我输入100时它加10。当我最后点击屏幕上的任何地方时,键盘消失然后它得到正确的值,但它应该是动态变化的。有一段我的代码:

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


    NSString *calculator=[calculateField text];
    int modifyer = [calculator intValue];


    intProtein = [protein intValue];
    int prot = [protein intValue];


    self.intProteinResult = prot+modifyer;


    [proteinTextField setText:[NSString stringWithFormat:@"%i", intProteinResult]];


    return YES;
}

是的,我确实尝试过搜索与我类似的主题,并尝试过其他方法 stringByReplacingCharactersInRange:range withString:string。但我不知道如何使用它。请帮助,任何建议将不胜感激。

4

1 回答 1

1

使用此代码将值分配给计算器变量:

NSString* calculator = [[calculateField text] stringByReplacingCharactersInRange: range withString: string];

无论替换或编辑哪个字符,上述内容都应该始终有效。

于 2012-05-04T14:03:19.837 回答