Как вставить представление в существующую ячейку таблицы? - PullRequest
0 голосов
/ 12 августа 2009

У меня есть хорошая таблица, заполненная данными, с индивидуально разработанными макетами ячеек. В настоящее время нажатие на ячейку откроет новое представление (скажем, для получения дополнительной информации), которое отлично работает.

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

Спасибо! :)

Обновление: вот код, на случай, если это поможет помощникам:

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

FlippedViewController *flippedViewController = [[FlippedViewController alloc] initWithNibName:@"FlippedView" bundle:nil];

// What goes in here? Where do contentView and originalView come from?

[originalView removeFromSuperview];
[contentView addSubview:flippedViewController.view];

[flippedViewController release];
}

1 Ответ

0 голосов
/ 12 августа 2009

Вы можете добавить хук в tableView:didDeselectRowAtIndexPath: (метод UITableViewDelegate), который использует указатель на contentView конкретной ячейки и выполняет изменения для этой UIView так же, как она будет любой другой.

Например, если вы хотите просто заменить originalView (при условии, что теперь это находится в ячейке) на newView, вы можете сделать что-то вроде этого:

// Use your own data structure and indexPath to retrieve contentView.
[originalView removeFromSuperview];
[contentView addSubview:newView];

Это обновит представление без анимации.

Об анимации - вот два предыдущих вопроса:

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