Yos*_*far 3 iphone xcode objective-c uitextfield ios
这是我的代码:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSCharacterSet *nonNumberSet = [[NSCharacterSet characterSetWithCharactersInString:@"??????????????????????????"] invertedSet];
// max charcters
NSUInteger newLength = [textField.text length] + [string length] - range.length;
if (newLength > 14)
return NO;
// allow backspace
if (range.length > 0 && [string length] == 0) {
return YES;
}
// do not allow . at the beggining
if (range.location == 0 && [string isEqualToString:@"."]) {
return NO;
}
if ((range.location > 0) && (([[textField.text substringWithRange:NSMakeRange((range.location -1), 1)] isEqualToString:@"?"]) || ([[textField.text substringWithRange:NSMakeRange((range.location -1), 1)] isEqualToString:@"?"]) || ([[textField.text substringWithRange:NSMakeRange((range.location -1), 1)] isEqualToString:@"?"]) || ([[textField.text substringWithRange:NSMakeRange((range.location -1), 1)] isEqualToString:@"?"])))
{
return NO;
}
// set the text field value manually
NSString *newValue = [[textField text] stringByReplacingCharactersInRange:range withString:string];
newValue = [[newValue componentsSeparatedByCharactersInSet:nonNumberSet] componentsJoinedByString:@""];
textField.text = newValue;
// return NO because we're manually setting the value
return NO;
}
Run Code Online (Sandbox Code Playgroud)
我只想在你点击Return键盘时就会消失.我做不到.在哪里添加它以及如何添加?
如果要在点击return
键后隐藏键盘,请在代码中添加以下内容:
if ([string isEqualToString:@"\n"]) {
[theTextField resignFirstResponder];
return NO;
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你
归档时间: |
|
查看次数: |
1205 次 |
最近记录: |