как отобразить поповер клик на ячейку таблицы в ipad - PullRequest
1 голос
/ 01 декабря 2011

Я использую TableView в своем приложении, где я хочу всплывающее представление, когда я щелкаю по ячейке таблицы, все содержимое, которое находится в ячейке таблицы, должно отображаться в всплывающем представлении, поэтому, пожалуйста, подскажите мне, как это сделать ??

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

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UIView *aView = [[UIView alloc] init];
UIPopoverController *popoverController = [[UIPopoverController alloc] 
                                          initWithContentViewController:aView];
popoverController.popoverContentSize = CGSizeMake(320, 416);
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
[popoverController presentPopoverFromRect:cell.bounds inView:cell.contentView 
                 permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}

Ответы [ 3 ]

4 голосов
/ 01 декабря 2011

Ссылка класса UIPopoverController четко гласит

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

Ваш popoverController должен иметь контроллер представления, а не представление.

YourViewController *aViewController = [[YourViewController alloc] initWithNibName:nibName bundle:nil];
UIPopoverController *popoverController = [[UIPopoverController alloc] 
                                          initWithContentViewController:aViewController];

Тогда вы можете представить эту популярность поверх

1 голос
/ 01 декабря 2011

Ваш код в порядке, но Вы должны иметь UIViewController вместо UIView.

0 голосов
/ 01 декабря 2011

Вы должны передать контроллер представления вместо представления

...