Swift 从 UIButton 呈现弹出视图

Swift Present Popover View from a UIButton

问题

您好。在 Swift 中,我如何显示 Storyboard 创建的 UIButton 中的弹出窗口,以便从照片库中获取照片?我已经弄清楚了照片库的东西,只是没有显示视图控制器。

研究

我从大约一半的 BarButtonItem 中找到了关于如何做类似事情的说明 here

当前尝试

我正在尝试以下代码。

self.imagePicker.delegate = self
self.imagePicker.sourceType = UIImagePickerControllerSourceType.SavedPhotosAlbum;
self.imagePicker.allowsEditing = false
            
self.imagePicker.modalPresentationStyle = .Popover
presentViewController(self.imagePicker, animated: true, completion: nil)//4
self.imagePicker.popoverPresentationController?.photo = sender

其中 photo 是我要从中呈现此模态视图的 UIButton。为了简单起见,只给出了与呈现视图相关的部分代码。

我也试过了

self.imagePicker.delegate = self
            self.imagePicker.sourceType = UIImagePickerControllerSourceType.SavedPhotosAlbum;
            self.imagePicker.allowsEditing = false
            
            self.imagePicker.modalPresentationStyle = .Popover
            self.imagePicker.popoverPresentationController!.sourceRect = self.photo.bounds
            self.presentViewController(self.imagePicker, animated: true, completion: nil)

这给出了一个 sigabrt,

动作

输入上面的代码时,Xcode报错

"use of unresolved identifier 'sender'"

预期操作

我想要显示包含照片库的弹出窗口,如下图所示:

我做错了什么?谢谢!

尝试像这样设置弹出窗口的源视图

actionSheet.popoverPresentationController?.sourceView = photo

希望对您有所帮助。