2010-05-24 3 views
1

Я пытаюсь программно добавить UITextFiled внутри одной из моих ячеек таблицы. Как мне это сделать?iPhone: UITextField внутри ячейки TableView?

Предполагая, что это следующий метод, какой код я бы использовал?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:CellIdentifier] autorelease]; 
     cell.editingAccessoryType = UITableViewCellAccessoryDisclosureIndicator; 
     // Don't let the user click when not in editing mode 
     cell.selectionStyle = UITableViewCellSelectionStyleNone; 
    } 

    switch (indexPath.row) { 
     case 0: 
      cell.textLabel.text = @"Title"; 
      // This is where I want to add a text field 
      cell.detailTextLabel.text = @"test"; 
      cell.editing = YES; 
     break; 
    } 

    return cell; 
} 

ответ

1

попробовать это:

[cell.contentView addSubview:[[[UITextField alloc] initWithFrame:CGRectMake(...)] autorelease]]; 
+0

Хорошо, что работает. Но теперь, как бы у меня был указатель на это текстовое поле, поэтому я могу делать что-то вроде текста по умолчанию и выхода? –

+0

уверен, что вы можете иметь указатель на это текстовое поле. Например, u создаст член-указатель-класс, создайте экземпляр UITextField в конструкторе, чем добавьте созданный экземпляр в ячейку. ex: [cell.contentView addSubview: instance]; – Yakov

+0

Хорошо, я сделал то, что вы сказали, но текстовое поле не отображается, я попытался создать экземпляр UITextField и назначить его члену моего класса-указателя, используя функцию rideTitle = [[UITextField alloc] initWithFrame: CGRectMake (12, 45, 260, 25)]; но это, похоже, не работает. Идеи? –

Смежные вопросы