сделать кнопку «загрузить еще» в uitableviewcell? - PullRequest
12 голосов
/ 28 мая 2011

эй, Может ли кто-нибудь помочь мне в этом, у меня есть около 15 записей в таблице, и я бы хотел, чтобы еще 15 работали с дополнительной загрузкой в ​​последнем UITableViewCell. кто-нибудь может мне помочь?

Ответы [ 4 ]

19 голосов
/ 28 мая 2011

, чтобы показать дополнительную строку в табличном представлении, в

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return dataRows+1;
    }

В

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

        //after setting tableviewcell

        if(indexPath.row==dataRows){

        cell.textLabel.text=@"Load More Rows";
        }
    }

В

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {

    if(indexPath.row==dataRows){
    //there you can write code to get next rows
    }
 }

Вам необходимо обновить переменную numberOfRows в соответствии с отображаемыми строками.

Редактировать: После извлечения дополнительных записей вы можете добавить их в массив существующих записей, используя следующий метод. Ваш исходный массив должен быть NSMutableArray, чтобы использовать этот метод.

[originalEntriesArray addObjectsFromArray:extraEntriesArray];

8 голосов
/ 11 июля 2011

Я написал пример проекта, который делает именно это.Загрузите его с GitHub https://github.com/Abizern/PartialTable

4 голосов
/ 10 апреля 2012

Я написал кое-что, что может быть полезно: https://github.com/nmondollot/NMPaginator

Он инкапсулирует нумерацию страниц и работает практически со всеми веб-сервисами, используя параметры page и per_page.Он также имеет UITableView с автоматической выборкой следующих результатов при прокрутке вниз.

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

надеюсь, что это поможет

Я взял изменяемый массив и целочисленную переменную и установил общее количество массивов в целочисленную переменную

arr = [[NSMutableArray alloc]initWithObjects:@"Radix",@"Riki", nil];
dataRows = [arr count];

, а затем я установил количество строкв разделах согласно целочисленной переменной в методе источника данных таблицы

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return dataRows+1;
}

, потому что вы хотели добавить дополнительную ячейку в конце.

Теперь пришло время установить текст таблицыячейка

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

{статический NSString * CellIdentifier = @ "Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}

// Configure the cell...

//setting the text of the cell as per Mutable array
if (indexPath.row < [arr count]) {

    cell.textLabel.text = [arr objectAtIndex:indexPath.row];
}

 //setting the text of the extra cell

if (indexPath.row == dataRows) {
    cell.textLabel.text = @"more cells";
}     
return cell;

}

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

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

, что означает, что вы должны сделать что-то вроде этого

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(indexPath.row == dataRows)
    {
        //code for exra cells please
    }
}

Запустите приложение, чтобы проверить этот код.

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