在UICollectionViewCell内的UIButton上的UIPopoverControl?

时间:2014-06-24 14:26:52

标签: ios objective-c uicollectionview uipopovercontroller uicollectionviewcell

我有一个UICollectionView,其中有很多UICollectionViewCell个,其中每个UIButton都有UIPopoverController。每当用户按下其中一个UIButton时,我想显示UIPopoverController。但是,当我这样做时,CGRect的位置远非正确。我的猜测是,这是由于UIButton我正在使用的翻译问题,但我不能为我的生活弄清楚如何纠正它。在我按下UIButton *detailsButton = (UIButton *)sender; [self.popoverController presentPopoverFromRect:detailsButton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 时调用的选择器内部,我有类似的东西......

UIButton

但是,当我这样做时,无论UICollectionViewCellUICollectionViewUIButton内的位置如何,它似乎每次都定位在同一个地方。有人可以给我一些指示,告诉我如何在整个UICollectionView内翻译detailsButton的位置吗?我想我需要{{1}}的绝对位置,但我不知道如何获得它。

感谢您提供任何帮助!

1 个答案:

答案 0 :(得分:1)

视图具有相对于其超视图的坐标,而不是相对于屏幕的坐标。因此,如果所有单元格都相同,则detailsButton.frame对于所有按钮都是相同的。

尝试更改inView:参数。

[self.popoverController presentPopoverFromRect:detailsButton.frame inView:detailsButton.superview permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];