UITextFelid 代理方法 输入一定范围的数字
2016-09-06 15:34
387 查看
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
//返回一个BOOL值,指定是否循序文本字段开始编辑
return YES;
}
- (void)textFieldDidBeginEditing:(UITextField *)textField{
//开始编辑时触发,文本字段将成为first responder
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
//返回BOOL值,指定是否允许文本字段结束编辑,当编辑结束,文本字段会让出first responder
//要想在用户结束编辑时阻止文本字段消失,可以返回NO
//这对一些文本字段必须始终保持活跃状态的程序很有用,比如即时消息
return NO;
}
- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
//当用户使用自动更正功能,把输入的文字修改为推荐的文字时,就会调用这个方法。
//这对于想要加入撤销选项的应用程序特别有用
//可以跟踪字段内所做的最后一次修改,也可以对所有编辑做日志记录,用作审计用途。
//要防止文字被改变可以返回NO
//这个方法的参数中有一个NSRange对象,指明了被改变文字的位置,建议修改的文本也在其中
return YES;
}
- (BOOL)textFieldShouldClear:(UITextField *)textField{
//返回一个BOOL值指明是否允许根据用户请求清除内容
//可以设置在特定条件下才允许清除内容
return YES;
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
//返回一个BOOL值,指明是否允许在按下回车键时结束编辑
//如果允许要调用resignFirstResponder 方法,这回导致结束编辑,而键盘会被收起
[textField resignFirstResponder];//查一下resign这个单词的意思就明白这个方法了
return YES;
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString
*)string
{
//确保为0123456789数字
NSCharacterSet *cs;
cs = [[NSCharacterSet
characterSetWithCharactersInString:@"0123456789\n"]
invertedSet];
NSString *filtered = [[string
componentsSeparatedByCharactersInSet:cs]
componentsJoinedByString:@""];
BOOL basicTest = [string
isEqualToString:filtered];
if(!basicTest)
{
return
NO;
}
NSMutableString *st=[NSMutableString stringWithFormat:@"%@%@",textField.text,string];
if ([string isEqualToString:@""]) {
[st deleteCharactersInRange:range];
}
//确保输入数值大于200
if ([st intValue]>200) {
return
NO;
}
return
YES;
}
//返回一个BOOL值,指定是否循序文本字段开始编辑
return YES;
}
- (void)textFieldDidBeginEditing:(UITextField *)textField{
//开始编辑时触发,文本字段将成为first responder
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
//返回BOOL值,指定是否允许文本字段结束编辑,当编辑结束,文本字段会让出first responder
//要想在用户结束编辑时阻止文本字段消失,可以返回NO
//这对一些文本字段必须始终保持活跃状态的程序很有用,比如即时消息
return NO;
}
- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
//当用户使用自动更正功能,把输入的文字修改为推荐的文字时,就会调用这个方法。
//这对于想要加入撤销选项的应用程序特别有用
//可以跟踪字段内所做的最后一次修改,也可以对所有编辑做日志记录,用作审计用途。
//要防止文字被改变可以返回NO
//这个方法的参数中有一个NSRange对象,指明了被改变文字的位置,建议修改的文本也在其中
return YES;
}
- (BOOL)textFieldShouldClear:(UITextField *)textField{
//返回一个BOOL值指明是否允许根据用户请求清除内容
//可以设置在特定条件下才允许清除内容
return YES;
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
//返回一个BOOL值,指明是否允许在按下回车键时结束编辑
//如果允许要调用resignFirstResponder 方法,这回导致结束编辑,而键盘会被收起
[textField resignFirstResponder];//查一下resign这个单词的意思就明白这个方法了
return YES;
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString
*)string
{
//确保为0123456789数字
NSCharacterSet *cs;
cs = [[NSCharacterSet
characterSetWithCharactersInString:@"0123456789\n"]
invertedSet];
NSString *filtered = [[string
componentsSeparatedByCharactersInSet:cs]
componentsJoinedByString:@""];
BOOL basicTest = [string
isEqualToString:filtered];
if(!basicTest)
{
return
NO;
}
NSMutableString *st=[NSMutableString stringWithFormat:@"%@%@",textField.text,string];
if ([string isEqualToString:@""]) {
[st deleteCharactersInRange:range];
}
//确保输入数值大于200
if ([st intValue]>200) {
return
NO;
}
return
YES;
}
相关文章推荐
- jquery正则表达式显示文本框输入范围 只能输入数字、小数、汉字、英文字母的方法
- 学习手记,网文摘录--C#验证输入的是否数字的方法
- C#验证输入的是否数字的方法
- 在网页里让文本框只能输入数字的一种方法。外加回车换Tab
- 只允许输入数字的一个小方法
- 实现textBox只能输入数字的一种方法!
- C#验证输入的是否数字的几种方法
- C#验证输入的是否数字的方法
- 在网页里让文本框只能输入数字的一种方法。外加回车换Tab (javascript key键的使用)+禁止切换输入法---转
- 在网页里让文本框只能输入数字的一种方法。外加回车换Tab
- 在网页里让文本框只能输入数字的一种方法,外加回车换Tab
- C#验证输入的是否数字的方法
- C#验证输入的是否数字的几种方法
- C#验证输入的是否数字的几种方法
- 只让输入数字的方法
- 如何控制文本框只能输入某个范围内的数字,如:0到60之间?
- 判断输入是否为数字的最简单的方法(用JavaScript的正值表达式)
- C#验证输入的是否数字的方法
- TextBox只能输入数字的最简洁方法!
- VB.Net让Textbox只能输入数字的方法