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

标签 swift popviewcontroller

我使用此功能显示弹出 View 以从相机胶卷中选择图像:

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,但如您所见,弹出 View 的箭头位于顶部。

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)!)
}

最佳答案

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

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

关于swift - 弹出窗口出现时方向箭头错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32566917/

相关文章:

ios - 将 MapKit 地点与 Facebook 地点相匹配

swift - 非转义参数的闭包使用 - Swift 3 问题

ios - Swift 中的 NSLocalizedString 等价物是什么?

iphone - popViewController 不工作

ios - 在同一 Action 中弹出和推送 View Controller

swift - 如何将 Realm 通知抽象为带有闭包的通用结构?

ios - uiwebview 忽略样式标签

uinavigationcontroller - 在转换期间使用 popViewController 闪烁白色的问题

ios - 如何使用dismissViewController发回数据

ios - 将数据传递给之前的 View Controller VIPER