2つのテキストフィールドがUItableViewにあります。ビルドはエラーなしで完了しています。ログインの詳細を入力し、UINavControllerでSubmitボタンを押すと、最初のフィールドは(null)として返されます。私はそれが起こっている理由を見つけることができません。 :(ここUITableViewセルのUITextFieldが(null)として返されます
は、私が使用しているコードです:
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell.
if ([indexPath section] == 0) {
tUser = [[UITextField alloc] initWithFrame:CGRectMake(110, 10, 185, 30)];
tUser.adjustsFontSizeToFitWidth = YES;
tUser.textColor = [UIColor blackColor];
tPass = [[UITextField alloc] initWithFrame:CGRectMake(110, 10, 185, 30)];
tPass.adjustsFontSizeToFitWidth = YES;
tPass.textColor = [UIColor blackColor];
if ([indexPath row] == 0) {
tUser.placeholder = @"[email protected]";
tUser.keyboardType = UIKeyboardTypeEmailAddress;
tUser.returnKeyType = UIReturnKeyNext;
}
if ([indexPath row] == 1) {
tPass.placeholder = @"Required";
tPass.keyboardType = UIKeyboardTypeDefault;
tPass.returnKeyType = UIReturnKeyDone;
[tPass addTarget:self
action:@selector(save:)
forControlEvents:UIControlEventEditingDidEndOnExit];
tPass.secureTextEntry = YES;
}
}
tUser.autocorrectionType = UITextAutocorrectionTypeNo;
tUser.autocapitalizationType = UITextAutocapitalizationTypeNone;
tUser.textAlignment = UITextAlignmentLeft;
tPass.autocorrectionType = UITextAutocorrectionTypeNo;
tPass.autocapitalizationType = UITextAutocapitalizationTypeNone;
tPass.textAlignment = UITextAlignmentLeft;
tUser.clearButtonMode = UITextFieldViewModeNever;
tPass.clearButtonMode = UITextFieldViewModeNever;
[tUser setEnabled:YES];
[tPass setEnabled:YES];
//[tUser release];
//[tPass release];
// Email & Password Section
if ([indexPath row] == 0) { // Email
cell.textLabel.text = @"Username";
[cell addSubview:tUser];
}
else {
cell.textLabel.text = @"Password";
[cell addSubview:tPass];
}
return cell;
}
================
-(IBAction) save: (id) sender {
if ([tPass text] == nil) {
UIAlertView *alertV = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"There was no password entered, please enter the correct password and try again."
delegate:self
cancelButtonTitle:@"Okay"
otherButtonTitles:nil];
[alertV show];
[alertV release];
}
else {
NSLog(@"we can do something here soon...");
//NSString *tUserString = [[NSString alloc] initWithFormat:@"Hello: %@", tUser.text];
NSLog(@"We saved their username: %@", [tUser text]);
NSLog(@"We saved their password: %@", [tPass text]);
}
}
は、すべてのヘルプは非常になります:)
テキストフィールドを評価するコードを表示できますか? – fabian789
'[indexPath section] == 0'を3回チェックしているのはなぜですか? –
@ fabian789私の投稿を編集しました。これをチェックしてください。 :) –