Редактирование текста на месте в UITableViewCell? - PullRequest
10 голосов
/ 08 ноября 2010

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

Я знаю, что мне нужно добавить UITextField как подпредставление к UITableViewCell, чтобы сделать его редактируемым. Каков наилучший способ сделать это? (Я вижу пример в UICatalog, но меня смущают все то, что он делает со Словарём.)

Опять прошу прощения за незнание этого вопроса. Очень хотелось бы получить указатель на пример кода или скринкаст.

Заранее спасибо,

Alan

Ответы [ 2 ]

4 голосов
/ 08 ноября 2010

Сначала определите примерно UITextField.

txtField=[[UITextField alloc]initWithFrame:CGRectMake(5, 5, 320, 39)];
txtField.autoresizingMask=UIViewAutoresizingFlexibleHeight;
txtField.autoresizesSubviews=YES;
txtField.layer.cornerRadius=10.0;
[txtField setBorderStyle:UITextBorderStyleRoundedRect];
[txtField setPlaceholder:@"Type Data Here"];

Затем напишите приведенный ниже код в cellForRowAtIndexPath method

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
     static NSString *CellIdentifier = @"CellIdentifier";
     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
   if (cell == nil)
   {
      cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
      cell.accessoryType = UITableViewCellAccessoryNone;
    }
    [cell addSubview:txtField];
    return cell;
}
1 голос
/ 08 ноября 2010

Вы можете создать свой собственный UITableViewCell и поместить в него все, что захотите.Тогда вам просто нужно использовать его в вашем UITableView.Если вы беспокоитесь о том, что использовать в качестве делегата UITextField для вашего текстового поля для управления всеми методами делегата, IMHO, я помещу это в UIViewController, который обрабатывает UITableView, чтобы вы могли обновить DataSource после того, как текстовое поле было отредактировано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...