如何显示popover单击ipad中的tableview单元格

时间:2011-12-01 05:55:56

标签: objective-c ipad uipopovercontroller

我在我的应用程序中使用TableView,当我点击一个tabel单元格时,我想要一个Pop over View,表格中的所有内容Cell应该显示在pop视图中,所以plz建议我怎么办?

我在下面有一些示例代码无效。所以我建议使用代码我希望单元格中的所有内容都显示在弹出视图中。

- (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 个答案:

答案 0 :(得分:4)

UIPopoverController类引用明确指出

  

要显示弹出窗口,请创建此类的实例并显示它   使用适当的方法之一。初始化实例时   这个类,你必须提供提供的视图控制器   弹出窗口的内容。弹出装置通常从中获得它们的大小   查看他们出席的控制器

你的popoverController应该有一个视图控制器而不是视图。

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

然后你可以在

上呈现这个流行音乐

答案 1 :(得分:1)

你的代码很好,但是 你应该有UIViewController而不是UIView。

答案 2 :(得分:-3)

你必须传递视图控制器而不是视图