Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIPopoverController-如何指向UICollectionView单元格上的位置';s定制配件图标?_Ios_Objective C_Ipad - Fatal编程技术网

Ios UIPopoverController-如何指向UICollectionView单元格上的位置';s定制配件图标?

Ios UIPopoverController-如何指向UICollectionView单元格上的位置';s定制配件图标?,ios,objective-c,ipad,Ios,Objective C,Ipad,我被一个问题困住了 我有一个视图,它使用UICollectionView,并且我使用了许多图像来显示。在每个单元格图像的右上角,我都显示了一个小图标,上面有一个UITapgestureRecognitizer(小图标)。每当用户点击small时,我必须显示一个带有nib文件的UIPopoverController,它是另一个带有.h、.m和xib文件的类文件。问题是我无法将UIPopoverController锁定在任何(我单击的是哪个小图像)上,相反,当我单击任何小图标图像UIApgestur

我被一个问题困住了

我有一个视图,它使用UICollectionView,并且我使用了许多图像来显示。在每个单元格图像的右上角,我都显示了一个小图标,上面有一个UITapgestureRecognitizer(小图标)。每当用户点击small时,我必须显示一个带有nib文件的UIPopoverController,它是另一个带有.h、.m和xib文件的类文件。问题是我无法将UIPopoverController锁定在任何(我单击的是哪个小图像)上,相反,当我单击任何小图标图像UIApgestureRecognitizer时,总是指向第一个单元格的小图像

有谁能告诉我,我应该怎么做才能将UIPopoverController指向我点击的小图像吗?

试试这个:

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

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

}

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

- (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];
}