ios - 如果已设置 UIImageView 图像,有一种方法可以快速通知吗?

标签 ios swift uiimageview uikit

如果 UIImageView 是我的类(class),我会通过以下方式解决这个问题:

class myUIImageView{
  var image : UIImage? {
   didSet {
    if self.image != nil{
      //do my stuff
    }
   }
  }

  //Other fields and functions
}

What I want is to be notified (Observer Like)

最佳答案

我确实找到了答案...Swift 允许覆盖 var 所以这里没有真正的复杂性。只需将使用 UIImageView 的位置更改为使用 myUIImageView 即可。

class myUIImageView : UIImageView{

 override var image: UIImage?{
    didSet {
        if image != nil{
           //do your stuff (add effects, layers, ...)
        } else {
          //clean your filter or added layer (remove your effects over the view)
        }
    }
 }

}

更新

Be advice, if your UIImageView is part of a Collection View you should remove the effect when the collection reuses your view. Otherwise it will remain visible even if no image is being shown.

关于ios - 如果已设置 UIImageView 图像,有一种方法可以快速通知吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30060180/

相关文章:

ios - 在数组上使用 NSUserDefaults

ios - 使用 swift 并排布局 3 个 uiImageView

ios - 添加 UIImage 会忽略 UIImageView 框架并调整其大小

ios - TableView 图像在滚动之前不会加载

ios - 对 url 字符串进行编码

ios - 如何使用 DeviceCheck API 快速获取唯一 ID?

字符串的 Java indexOf 和 lastIndexOf 的 Swift 等价物

objective-c - 在 UIImageView 中居中 UIActivityIndi​​catorView

ios - 在 iOS 的属性列表中排序键

ios - 关闭 viewController 时退出键盘