我正在寻找一种 UITextField 的方法,它在我输入 UITextField 后会生成一个东西。
我有一个方法来进行计算我使用一个按钮,但我不想使用,我希望你在我在 UITextField 中键入数字后运行这个方法。
关于使用哪种方法的任何提示?
谢谢您的帮助。
我正在寻找一种 UITextField 的方法,它在我输入 UITextField 后会生成一个东西。
我有一个方法来进行计算我使用一个按钮,但我不想使用,我希望你在我在 UITextField 中键入数字后运行这个方法。
关于使用哪种方法的任何提示?
谢谢您的帮助。
UITextFieldFieldDelegate
协议self.textField.delegate = self;
然后实现shouldChangeCharactersInRange
方法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
textField.text = [textField.text stringByReplacingCharactersInRange:range withString:string];
[self doCalculations];
return NO;
}
您可以使用- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
立即获取键入的文本。或者您可以使用- (BOOL)textFieldShouldReturn:(UITextField *)textField
捕获用户点击返回的时间并在那时从文本字段中读取文本。这两种方法都在 UITextFieldDelegate 协议中,可以在此处找到其文档。
编辑:
或者,您可以使用[textField addTarget:self action:@selector(textChanged:) forControlEvents:UIControlEventEditingChanged];
并实现 textChanged 方法来捕获 EditingChanged 事件。
//in your ViewContoller.h
//Implement UITextFieldFieldDelegate protocol
//In your ViewContoller.m
//where you are creating your textfield.
textField.delegate = self;
// There are 2 delegate method that you can implement
// this method will be called whwn ever you enter a a letter.
// say you enter 'abcd' then this method will be called 4 times.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
//do your calculation if required
return YES;
}
//this method will be called when the textField will end editing, i.e when the keyboard resigns of the control goes to some other textField/textView
- (void)textFieldDidEndEditing:(UITextField *)textField {
}
根据您的要求,您可以使用第一种或第二种方法进行计算。
是的,您可以使用以下代码:-
此代码询问委托人是否应更改指定的文本。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
[self yourMethodName]; //The method which you want to call.
return YES;
}
并调用 UITextFieldField 代表。为了更好地理解这一点,您可以参考:-
希望这会帮助你。