ios - 使用委托(delegate)方法设置 UIImage

标签 ios uitableview delegates uiimage

我为两个不同的类(class)制作了两个委托(delegate)。一个用于 UITableViewCell 类,即 CameraTapDelegate

protocol CameraTapDelegate {
    func showCameraOptions()
}

当用户点击 Cell 中的 UIImageView 时,它会打开相机或图库。当用户选择图像时 func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 被执行。为了将此图像返回给单元格,我制定了另一个协议(protocol),但这次是在 ViewController 类中:

protocol UserImageDelegate {
    func selectedImage(image: UIImage)
}

我在 ViewController 类的 didFinishPickingMediaWithInfo 中调用它,将选定的图像传递给 UITableViewCell。所以我的问题是,在 UITableViewCell 类中我添加了 selectedImage 方法,但它没有被执行。

最佳答案

您必须记住为 UserImageDelegate 类型的委托(delegate)分配一个值。

UserImageDelegateUITableViewCell 实现。知道图像被选中的对象是 ViewController。因此 ViewController 应该定义属性:

weak var userImageDelegate: UserImageDelegate?

didFinishPickingMediaWithInfo 中,我希望看到:

userImageDelegate?.selectedImage(image: image)

现在唯一剩下的就是确保 userImageDelegate 引用实现它的 cell,所以我想在 cellForRow 中我期望看到类似的东西:

self.userImageDelegate = cell

关于ios - 使用委托(delegate)方法设置 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48082871/

相关文章:

.net - 一个空的委托(delegate)会吃掉内存吗?

ios - 打开 Siri 停止 AVAudioPlayer

ios - Swift 调用中的额外参数 'predicate'

ios - 为什么我需要添加 use_legacy_build_api : true when use gym build project?

ios - 无法对非字符串的内容执行子字符串操作

iOS UI - 在一个屏幕中的 UICollectionView 和 UITableView 之间切换

ios - 如何等到委托(delegate)方法被调用?

ios - swift ,如何使表格 View 单元格具有动态高度

ios - 如何计算UITableView中标题的正确高度

ios - 委托(delegate)函数 vs 回调函数