我正在使用xcode中的應用程序。我陷入了一個問題。我做了一個表查看並製作了一個單元格,我想要顯示3個textFields和Labels。我已經通過編碼完成了這項工作,併爲其分配了帶有標籤的textField。 TextFields鍵盤是NumPad,因此我添加了一個用於解除鍵盤的工具欄。工具欄有2個按鈕,一個取消,一個完成。當我點擊取消按鈕它劑量工作的所有textFields除了最後一個textField。TextField鍵盤不解僱
請幫助我。
這是我的代碼。
for (int i = 0; i < 3; i++) {
mainTextField = [[UITextField alloc] initWithFrame:CGRectMake(20, (80 + (i * 60)), 280, 30)];
mainTextField.borderStyle = UITextBorderStyleRoundedRect;
mainTextField.textColor = [UIColor blackColor];
mainTextField.font = [UIFont systemFontOfSize:17.0];
mainTextField.backgroundColor = [UIColor whiteColor];
mainTextField.autocorrectionType = UITextAutocorrectionTypeNo;
mainTextField.backgroundColor = [UIColor clearColor];
mainTextField.keyboardType = UIKeyboardTypeNumberPad;
mainTextField.keyboardType=UIKeyboardTypeDecimalPad;
mainTextField.returnKeyType = UIReturnKeyDone;
mainTextField.tag= i+1;
mainTextField.delegate=self;
[self.mainTableView addSubview:mainTextField];
self. numberToolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
self. numberToolbar.barStyle = UIBarStyleBlackOpaque;
self. numberToolbar.items = [NSArray arrayWithObjects:
[[UIBarButtonItem alloc]initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target:self action:@selector(cancelNumberPad)],
[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
[[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(doneWithNumberPad)],
nil];
[self.numberToolbar setTag:i+1];
[self.numberToolbar sizeToFit];
mainTextField.inputAccessoryView = numberToolbar;
mainTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
mainLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 55+(i*60), 280, 18)];
mainLabel.backgroundColor = [UIColor clearColor];
mainLabel.textAlignment = UITextAlignmentLeft;
mainLabel.tag= i+1;
{
mainLabel.text = [passedValue objectAtIndex:[mainLabel tag]-1];
[self.mainTableView addSubview:mainLabel];
[self configureView];
}
}
-(void)cancelNumberPad{
switch ([self.numberToolbar tag]) {
case 1:
[mainTextField resignFirstResponder];
break;
case 2:
[mainTextField resignFirstResponder];
break;
case 3:
[mainTextField resignFirstResponder];
break;
default:
break;
}
mainTextField.text = @"";
}
-(void)doneWithNumberPad {
NSString *numberFromTheKeyboard = mainTextField.text;
[mainTextField resignFirstResponder];
}
是否cancelNumberPad方法被調用,當你觸摸取消按鈕?它的名字叫做 – mark
。但是控制轉到switch語句中的情況3。這是最後一個文本字段和取消按鈕在那裏工作。然而它的dosent工作的前兩個文本字段 –
使用委託代碼像[txtfieldStreet setDelegate:self]; – Vishal