使用委托方法设置UIImage

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用委托方法设置UIImage相关的知识,希望对你有一定的参考价值。

我为两个不同的班级做了两个代表。一个是UITableViewCell类,即CameraTapDelegate

protocol CameraTapDelegate {
    func showCameraOptions()
}

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

protocol UserImageDelegate {
    func selectedImage(image: UIImage)
}

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

答案

您必须记住为UserImageDelegate类型的委托分配值。

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

weak var userImageDelegate: UserImageDelegate?

didFinishPickingMediaWithInfo,我希望看到:

userImageDelegate?.selectedImage(image: image)

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

self.userImageDelegate = cell

以上是关于使用委托方法设置UIImage的主要内容,如果未能解决你的问题,请参考以下文章

选择单元格时,TableVIew 中的 UIImage 会移动

使用相同的默认 UIImage 对象进行单元重用/初始化

UIImage 从服务器逐步显示

对“xxx”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。 错误解决一例。(代码片段

为什么SDWebImage在decodeImageWithImage方法中使用@autoreleasepool块?

iOS UIPopoverController委托不工作,仍然是零