UIPopoverController - 如何指向UICollectionView单元格的自定义附件图标上的位置?

时间:2014-03-06 12:50:53

标签: ios objective-c ipad

我遇到了问题......

我有一个使用UICollectionView的View,我正在使用多个图像来显示。在每个单元格Image右上方我显示一个小图标,上面会有UITapGestureRecognizer(小图标)。每当用户点击小时,我必须显示带有nib文件的UIPopoverController,这是另一个带有.h,.m和xib文件的类文件。问题是我无法将UIPopoverController指向任何(我点击的小图像)。相反,当我点击任何小图标时,UITapGestureRecognizer始终指向第一个单元格的小图像...

任何人都可以告诉我如何将UIPopoverController指向我点击的小图片上,请????

2 个答案:

答案 0 :(得分:1)

试试这个:

- (void)didRecognizeTapGesture:(UITapGestureRecognizer*)gesture
{
    if (gesture.state == UIGestureRecognizerStateEnded)
    {
        CGPoint point = [gesture locationInView:self.collectionView];

       // Do some workaround with the POINT to achieve your task

}

答案 1 :(得分:0)

由于您提到每个图标都附加了UITapGestureRecognizer,因此您可以使用该手势识别器的view属性来显示弹出窗口:

- (void)didTapCellIcon:(UITapGestureRecognizer *)gesture
{
    UIView *iconView = gesture.view;
    // Create myContentViewController and setup
    UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:myContentViewController];
    [popoverController presentPopoverFromRect:iconView.bounds
                                       inView:iconView 
                     permittedArrowDirections:UIPopoverArrowDirectionAny
                                     animated:YES];
}