iPad使用触摸显示popover?

时间:2010-09-15 16:44:14

标签: iphone xcode ipad uitableview ios4

所以我一直在寻找解决这个问题的方法。我有一个表视图,当用户选择它时,它会显示一个来自单元格的弹出窗口。然而,有一个错误,但我无法找到解决方案。基本上,当您向下滚动结果的第一页时,弹出窗口始终显示在屏幕底部而不是选定的表格单元格中。原因是我通过以下方式从单元格矩形创建弹出窗口:

CGRect cellRect = [tableView rectForRowAtIndexPath:indexPath];

self.detailController.contentSizeForViewInPopover = CGSizeMake(cellRect.size.width, 350);   
self.personDetailPopoverController = [[[UIPopoverController alloc] initWithContentViewController:self.detailController] autorelease];

[self.personDetailPopoverController presentPopoverFromRect:cellRect
                                        inView:self.view
                      permittedArrowDirections:UIPopoverArrowDirectionAny
                                      animated:YES];

这适用于前8行(我的单元格高100单位),但会导致上述问题,因为它试图在y = 1400(对于第14个单元格等)显示它。有没有人知道从所选单元格中显示弹出窗口的更好方法?也许创造性地使用触摸?任何反馈将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

您需要将矩形转换为视图的坐标系:

[self.view convertRect:cellRect fromView:tableView];