удалить UITableViewCell программно - PullRequest
0 голосов
/ 12 сентября 2011

Мне было интересно, возможно ли удалить пустые ячейки (empty = ячейки без textLabel) после того, как все ячейки будут созданы в UITableView.

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

Почему у вас пустые клетки? Используете ли вы последовательную технику для контроля как количества ячеек в вашей таблице, так и их содержания?

Если вы используете UITableViewController, то ваш контроллер автоматически объявляется как источник данных tableview. Если вы используете UIViewController, то вы объявите его как соответствующий протоколу UITableViewDataSource (и подключите его в Интерфейсном Разработчике).

В любом случае, как источник данных tableview, ваш контроллер должен реализовать два метода: - tableView: cellForRowAtIndexPath: - tableView: numberOfRowsInSection:

Предположительно, вы предоставляете данные для представления таблицы с помощью массива или других средств внутри -tableview: cellForRowAtIndexPath :. Внутри этого метода метка ячейки будет установлена ​​из записи в вашем массиве. А внутри tableView: numberOfRowsInSection: вы будете делать что-то вроде [myArray count], чтобы вернуть количество ячеек. tableview: cellForRowAtIndexPath будет вызываться столько раз, сколько вы скажете (продиктовано тем, что вы предоставляете в tableview: numberOfRowsInSection :). Если массив источника данных изменяется, и вы хотите отразить изменения в вашем табличном представлении, тогда вы можете вызвать

[self.tableview reloadData];  //if inside a UITableViewController

[self.myTableViewOutlet reloadData];  //if inside a UIViewController

Обратите внимание, что reloadData перезагружает весь просмотр таблицы, поэтому в некоторых случаях это может быть вычислительно дорого. В этом случае вместо вызова reloadData вы можете сосредоточиться на отдельных строках с помощью метода: deleteRowsAtIndexPaths: withRowAnimation: (см. Ссылка на класс UITableView )

0 голосов
/ 12 сентября 2011

Как делегат приложения, вы несете ответственность за предоставление ячеек. Вы несете ответственность за возвращение каждой ячейки и количества ячеек в таблице. Поэтому в качестве делегата приложения у вас должны быть средства (будь то NSMutableArray или иным образом) для изменения данных, которые вы возвращаете в табличное представление.

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