当弹出窗口出现时方向箭头错误

时间:2015-09-14 14:07:32

标签: swift popviewcontroller

我使用此功能显示一个弹出式视图,用于从相机胶卷中选择图像:

func selectImage(sender: UICollectionViewCell){
    if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.SavedPhotosAlbum)
    {
        let imagePickerController = UIImagePickerController()
        imagePickerController.delegate = self
        imagePickerController.sourceType = UIImagePickerControllerSourceType.SavedPhotosAlbum
        imagePickerController.allowsEditing = false

            self.popOver = UIPopoverController(contentViewController: imagePickerController)
            self.popOver?.presentPopoverFromRect(sender.frame, inView: self.view, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true)

    }
}

在上面的代码中,sender.frame引用带有图片图标的CollectionViewCell(第一个),但正如您所见,弹出式视图的箭头位于顶部。

enter image description here

我已尝试UIPopoverArrowDirection.Down,但输出已连线: enter image description here

这就是我调用selectImage()

的方式
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
//conditions to know if the first cell is selected
   selectImage(collectionView.cellForItemAtIndexPath(indexPath)!)
}

1 个答案:

答案 0 :(得分:0)

呈现任何弹出窗口的更通用方法如以下代码段所示:

self.popOver?.presentPopoverFromRect(sender.frame, inView: sender.superview, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true)