Как вставить значение в ячейку в tableview по определенному пути индекса?

46
5

У меня есть метка и текстовое поле в tableview, теперь то, что я хочу, - это любое значение, которое я вставляю в текстовое поле в методе textfieldDidEditing, оно должно вычислять значение и возвращать его в метку в этом пути индекса для tablevievw.

спросил(а) 2012-06-07T15:50:00+04:00 7 лет, 6 месяцев назад
2
Решение
56

/* u just give Tag to TextField and in textFieldDidEndEditing, save textfield text into an string and then reload the row...here is the code..also have sample */

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexpath
{
UITableViewCell *cell = [[UITableViewCell alloc] init];

UITextField *txtField1 = [[UITextField alloc]initWithFrame:CGRectMake(20, 10, 100, 80)];
txtField1.tag = indexpath.row;
txtField1.delegate= self;
[cell addSubview:txtField1];

UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(140, 10, 100, 80)];

[cell addSubview:label1];

//set text in label ** str1 comes from textFieldDidEndEditing
label1.text = str1;

return cell;
}

-(void)textFieldDidEndEditing:(UITextField *)textField
{
//save textField text to any string**declair it global
str1 = textField.text;

//reload selected row in table
NSIndexPath *durPath = [NSIndexPath indexPathForRow:textField.tag inSection:0];
NSArray *paths = [NSArray arrayWithObject:durPath];
[tbl reloadRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationRight];
}

ответил(а) 2012-06-08T12:56:00+04:00 7 лет, 6 месяцев назад
Еще 1 ответ
62

В textfieldDidEditing вы можете получить ячейку соответствующего текстового поля, вычислить значение и присвоить его метке следующим образом:

yourTableViewCell *cell = (yourTableViewCell *)[[textField superview] superview];
cell.yourLabel.text = value;

ответил(а) 2012-06-07T15:58:00+04:00 7 лет, 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема