Powiel możliwe:
How to do edit-in-place in a UITableView?Montaż TextLabel w UITableViewCell
Jestem nowy w tym re rozwijających się. Po prostu chcę wiedzieć, jak edytować/aktualizować UITextLabel w tableView.
Używam już animacji edit/done i mogę usuwać wiersze, ale nie jestem w stanie uzyskać sposobu edycji tekstu w tych wierszach.
Chcę, aby użytkownik edytował etykietę z komórką. Po naciśnięciu przycisku edycji.
Już przeszukaliśmy witrynę, ale nie mogłem uzyskać dokładnej odpowiedzi.
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CellIdentifier"];
if(!cell)
{
cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CellIdentifier"]autorelease];
cell.editingAccessoryType=YES;
}
myTextField = [[UITextField alloc] initWithFrame:CGRectMake(15, 6, 241, 31)];
myTextField.backgroundColor = [UIColor clearColor];
myTextField.textAlignment = UITextAlignmentLeft;
myTextField.returnKeyType = UIReturnKeyDone;
myTextField.delegate = self;
cell.accessoryView = myTextField;
myTextField.text = [self.arrayOfItems objectAtIndex:indexPath.row];
myTextField.enabled = NO;
return cell;
}
-(IBAction)Edit:(id)sender
{
if(self.editing)
{
[myTextField.Enabled = YES];
[super setEditing:NO animated:NO];
[self.tab setEditing:NO animated:NO];
[self.tab reloadData];
[self.navigationItem.rightBarButtonItem setTitle:@"Done"];
[self.navigationItem.rightBarButtonItem setStyle:UIBarButtonItemStylePlain];
}
else
{
myTextField.enabled= YES;
[super setEditing:YES animated:YES];
[self.tab setEditing:YES animated:YES];
[self.tab reloadData];
[self.navigationItem.rightBarButtonItem setTitle:@"Edit"];
[self.navigationItem.rightBarButtonItem setStyle:UIBarButtonItemStyleDone];
}
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)aTableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (self.editing == NO || !indexPath)
return UITableViewCellEditingStyleNone;
if (self.editing && indexPath.row == ([self.arrayOfItems count]))
{
return UITableViewCellEditingStyleInsert;
}
else
{
return UITableViewCellEditingStyleDelete;
}
return UITableViewCellEditingStyleNone;
}
To nie działa na me.textfield zanika jeśli uderzę przycisk Edytuj
Podczas gdy to nie odpowiada na pytanie, jak wykonać edycję tekstu w tabeli, przedstawia ona kilka ważnych punktów, dla których może nie być dobrym pomysłem w każdych okolicznościach. –