Как удалить последнюю строку и добавить больше строк в табличное представление? - PullRequest
1 голос
/ 18 марта 2012

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

- (void)morePicture:(id)sender{
NSMutableArray *indexpath = [[NSMutableArray alloc] init];
[photos removeObjectAtIndex:[photos count]-1];
[indexpath addObject:[NSIndexPath indexPathForRow:[photos count]+1 inSection:0]];
[table beginUpdates];
[table deleteRowsAtIndexPaths:indexpath withRowAnimation:UITableViewRowAnimationNone];

NSMutableArray *indexPathss = [[NSMutableArray alloc] init];
for(int i=0; i<3; i++){
    NSString *s = [[NSString alloc] initWithFormat:@"%d",i];
    [photos addObject:s];
    NSIndexPath *indexpath = [NSIndexPath indexPathForRow:i inSection:0];
    [indexPathss addObject:indexpath];
}

Ответы [ 2 ]

1 голос
/ 18 марта 2012

Вам не нужно вызывать deleteRowsAtIndexPaths метод.Вместо этого используйте insertRowsAtIndexPaths.Просто добавьте строки над кнопкой последней строки, не удаляйте ее!

NSArray *newPhotos = ....;
NSMutableArray *photos = ...;

// insert new photos first (before table update)
[photos insertObjects:newPhotos atIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange([photos count] - 1, [newPhotos count])];

NSMutableArray *newIndices = [NSMutableArray array];
for (NSInteger row = [photos count] - [newPhotos count] - 1; row < [photos count] - 1; row++) {
    [newIndices addObject:[NSIndexPath indexPathWithIndex:row];
}
[self.tableView insertRowsAtIndexPaths:newIndices withRowAnimation:UITableViewRowAnimationFade];
0 голосов
/ 19 марта 2012

UIButton * moreButton = [[UIButton alloc] initWithFrame: frame];

[moreButton setImage: [UIImage imageNamed: @ "button_signin.png"] forState: UIControlStateNormal];

[moreButton addTarget: собственное действие: @selector (showMoreRows) forControlEvents: UIControlEventTouchUpInside];

// Добавить кнопку в представление нижнего колонтитула таблицы

self.tableView.tableFooterView = moreButton;

А в методе

- (IBAction) showMoreRows {

// Добавить объект в массив, который отвечает за создание табличного представления и затем вызывается

[self.tableView reloadData];

}

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