我有五个字段的数字输入,每个这些字段必须在一定的数字范围内。例如,Field One应该高于40且低于100. Field Two应该高于1.25且低于5.5。剩下的就是你的想法。UIAlert文本输入
我能够制作UIAlertView,但只能用于按下按钮来计算每个字段。如果最终用户输入了五个字段中的每一个的错误数据,他们将看到五个不同的警报,并且不是真正的用户界面友好。
我想让用户输入数字,当用户进入下一个领域时,评估他们的输入,然后发送警报视图。这样用户在输入另一个字段之前就会自动知道。我认为这对UI会更容易。但是,我不知道做到这一点的最佳方法,我只是在学习iPhone SDK和ObjC。
这里是我用于我的buttonPressed按钮的代码,正如你所看到的那样,每个五(本例中为四个)字段,将它们分配给一个变量,创建两个测试UIAlerts,然后执行一些数学运算输出答案。请记住我在这里一个的n00b .....
//calculate total of variables when user clicks button
-(IBAction) submitYourName;
{
/*********************************************************
declare our variables to strings
********************************************************/
NSString *userNameOne = txtUserName.text;
float numOne = [userNameOne intValue];
NSString *userNameTwo = txtUserName2.text;
float numTwo = [userNameTwo intValue];
NSString *userNameThree = txtUserName3.text;
float numThree = [userNameThree intValue];
NSString *userNameFour = txtUserName4.text;
float numFour = [userNameFour intValue];
/*********************************************************
allow error handling for our numbers
********************************************************/
if(numOne < 40 || numOne > 100)
{
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"User Error"
message:@"Your age must be at least 40 years old and less than 100 years old"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
}
if(numTwo < 40 || numTwo > 100)
{
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"User Error"
message:@"Your age must be at least 40 years old and less than 100 years old"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
}
/*********************************************************
calculate our mathematics
********************************************************/
float one = 3;
float main = numOne * one;
/*********************************************************
produce answer
********************************************************/
lblUserTypedName.text = [[NSString alloc] initWithFormat: @"you input %2.2f %2.2f %2.2f %2.2f", main, numTwo, numThree, numFour];
}
我很困惑。我是否使用UITextFieldDelegate创建输入处理或创建NSString? – HollerTrain 2009-12-29 01:54:17
当用户从textField移动到另一个时,将调用UITextFieldDelegate方法,允许您在输入后单独检查每个字段。 NSString创建正在堆叠您的消息,然后在一个Alert中显示所有内容。 – natanavra 2009-12-29 14:28:48
我是否将textFieldDidEndEditing连接到每个字段?那么它会检查每个字段? – HollerTrain 2010-01-03 00:00:20