RealTime: добавление строк в таблицу в UITableViewController - PullRequest
1 голос
/ 26 мая 2011

Я только что проверил источник данных и UITableView приложения, и они, кажется, работают хорошо.Я могу добавить строку в TableView, используя код - [... initWithObjects: (id), nil], и я могу сделать это на уровне кода.

Это то, что я хочу сделать.

  1. Создайте кнопку «Добавить» или знак «+» в верхней части таблицы.
  2. Итак, пока приложение запущено. Если я нажму на это, у меня будет возможность задать имядля этой строки.
  3. Если мне нужно создать больше строк и задать для них имена, я просто нажимаю кнопку добавления и снова набираю новые имена для строк.

Как сделатьЯ занимаюсь этим в режиме реального времени?

Ответы [ 2 ]

5 голосов
/ 26 мая 2011

Метод UITableView -insertRowsAtIndexPaths:withRowAnimation: используется для программного добавления строк в таблицу.

Этот ответ решает вашу проблему довольно напрямую.

1 голос
/ 26 мая 2011

Это довольно просто ... и это по памяти, так что у меня может быть опечатка здесь или там. Идея должна работать, хотя.

В tableView:numberOfRowsInSection: вы возвращаете [myArray count] + 1; (вы добавляете одну строку к итогу)

В tableView:cellForRowAtIndexPath: ячейка, в которой [indexPath row] == [myArray count] - это место, где нужно создать ячейку с текстом «Добавить строку», а не с вашим источником данных, потому что он идет в [myArray count] -1 , (Я думаю, что это имеет смысл). например,

    if([indexPath row] == [myArray count]){
        cell.textLabel.text = @"Add New Item";
    } else {
         cell.textLabel.text = [[myArray objectAtIndex:[indexPath row]]
                                           valueForKey:@"title"];            
    }
    return cell;

Затем вы вставите новую запись в ваш myArray и таблицу.

Что касается фактического изменения деталей новой строки, у вас есть несколько вариантов создания настраиваемой ячейки с вводом текста или использования контроллера модального представления с подсказкой. Это действительно зависит от вас.

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