我想设定一个范围,即$ 350000和$ 350000之间。文本字段为800000美元。如果输入的数字小于此范围,则应弹出警报消息。 Plz帮助
答案 0 :(得分:0)
在使用NSNumberFormatter
的Objective-C中,您可以这样使用:
NSNumberFormatter *nf = [[NSNumberFormatter alloc] init];
nf.minimum = @10;
nf.maximum = @20;
NSNumber *a = [nf numberFromString:@"12"];
NSNumber *b = [nf numberFromString:@"22"];
//if the number is beyond the range, it will return nil, so in above b is nil
//so the following check will show the log and alert
if (!a || !b) {
NSLog(@"Either of them is out of range");
//show the UIAlert here
}
修改强>
您应该在以下场景中调用上述内容:
用户输入值并执行某些操作。在行动的开始使用上述。
或者每当用户输入并离开文本字段时,请使用textFieldDidEndEditing:
的{{1}}委托方法调用上述内容。
注意 :由于您的号码前缀为UITextField
,请务必在$
中设置货币样式,而不是修剪它。
答案 1 :(得分:-1)
使用- (void) textViewDidEndEditing:(UITextView *)textView
方法检查文本的intergerValue
,如果它不符合您的要求,请显示弹出窗口。
如果想在旅途中检查,请使用- (BOOL) textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
NSString *finalText = [textView.text stringByAppendingPathComponent:text];
finalText = [finalText stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
//enable button
if ([finalText integerValue] < 350000 || [finalText integerValue] > 850000) //do what you wanna do
确保$不在textfield中,或者在使用integerValue
之前删除它。
答案 2 :(得分:-1)
这可能会有所帮助
-(void)viewDidLoad
{
[txt addTarget:self action:@selector(CheckingMethod:) forControlEvents:UIControlEventValueChanged];
}
-(IBAction)CheckingMethod:(id)sender
{
if(txt.text.length>9) {
//your popupview
}
else{
}
}