我使用此功能显示一个弹出式视图,用于从相机胶卷中选择图像:
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
(第一个),但正如您所见,弹出式视图的箭头位于顶部。
我已尝试UIPopoverArrowDirection.Down
,但输出已连线:
这就是我调用selectImage()
:
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
//conditions to know if the first cell is selected
selectImage(collectionView.cellForItemAtIndexPath(indexPath)!)
}
答案 0 :(得分:0)
呈现任何弹出窗口的更通用方法如以下代码段所示:
self.popOver?.presentPopoverFromRect(sender.frame, inView: sender.superview, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true)