所以我一直在寻找解决这个问题的方法。我有一个表视图,当用户选择它时,它会显示一个来自单元格的弹出窗口。然而,有一个错误,但我无法找到解决方案。基本上,当您向下滚动结果的第一页时,弹出窗口始终显示在屏幕底部而不是选定的表格单元格中。原因是我通过以下方式从单元格矩形创建弹出窗口:
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个单元格等)显示它。有没有人知道从所选单元格中显示弹出窗口的更好方法?也许创造性地使用触摸?任何反馈将不胜感激。谢谢!
答案 0 :(得分:1)
您需要将矩形转换为视图的坐标系:
[self.view convertRect:cellRect fromView:tableView];