을 생각할 수 이미 숫자를 계산 한 경우에만 터치합니다.
@property (nonatomic) BOOL calculateDone;
- (void)viewDidLoad
{
[super viewDidLoad];
self.calculateDone = false;
}
- (IBAction)calculate:(id)sender {
//sum label number and textField number
int sum = [self.label.text intValue] + [self.numberToAdd.text intValue];
//set label
self.label.text = [NSString stringWithFormat:@"%d", sum];
// sum done true
self.calculateDone = true;
}
- (void)textFieldDidBeginEditing:(UITextField *)textField {
if (textField == self.numberToAdd)
{
if (self.calculateDone)
{
self.numberToAdd.text = @"";
self.calculateDone = false;
}
}
}
옵션 3
취소 TextField
당신이 계산을 클릭하면 버튼
- (IBAction)calculate:(id)sender {
//sum label number and textField number
int sum = [self.label.text intValue] + [self.numberToAdd.text intValue];
//set label
self.label.text = [NSString stringWithFormat:@"%d", sum];
//reset textField
self.numberToAdd.text = @"";
}
만 오른쪽 TextField
에 숫자를 원하기 때문에 당신은 또한 TextField
에 입력 한 텍스트를 확인할 수 있습니까? .
@property (strong, nonatomic) NSString *urlRegEx;
@property (strong, nonatomic) NSPredicate *urlRegExTest;
//This Regex accepts negative and positive numbers
self.urlRegEx = @"((-)?[0-9]*)";
self.urlRegExTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", self.urlRegEx];
- (IBAction)calculate:(id)sender {
// if text is a valid Number
if ([self.urlRegExTest evaluateWithObject:self.numberToAdd.text]) {
int sum = [self.label.text intValue] + [self.numberToAdd.text intValue];
self.label.text = [NSString stringWithFormat:@"%d", sum];
}
}
download an example code here 수 있습니다.
답변이 도움이 되었다면 동의하십시오. –