这是我的整张床单,我有点迷路了。我的动作btnResult运行得很好,并且得到了我想要的结果。但是,如果用户只输入数字,我需要执行该操作,否则会收到一条错误消息。
你能把这张纸写完吗?这样我就明白你的意思了。
- (IBAction)btnResult:(id)sender
{
float sum = (_tf1.floatValue * (_tf3.floatValue + 1) - (_tf2.floatValue * _tf3.floatValue));
float divideOne = sum/3;
float divideTwo = sum/3*2;
float value1 = divideOne;
int intValue1 = (int)value1;
float fractional1 = fmodf(value1, (float)intValue1);
if(fractional1 > .5f)
intValue1++;
float value2 = divideTwo;
int intValue2= (int)value2;
float fractional2 = fmodf(value2, (float)intValue2);
if(fractional2 > .5f)
intValue2++;
_lblResult.floatValue = intValue1;
_lblResult2.floatValue = intValue2;
_lblAbove.hidden = NO;
_lblBelow.hidden = NO;
_lblResult.hidden = NO;
_lblResult2.hidden = NO;
}发布于 2013-11-29 17:05:45
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string发布于 2013-11-29 17:08:39
您需要将UITextField的Delegate设置为self,并实现以下委托方法:
-(BOOL)isNumeric:(NSString*)inputString
{
NSCharacterSet *cs=[[NSCharacterSet characterSetWithCharactersInString:@"0123456789"] invertedSet];
NSString *filtered;
filtered = [[inputString componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
return [inputString isEqualToString:filtered];
}
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
// Check for non-numeric characters
return [self isNumeric:textField.text];
}享受:)
https://stackoverflow.com/questions/20281320
复制相似问题