import UIKit

final class VCreateTravelListCell:UICollectionViewCell
{
    private weak var imageView:UIImageView!
    
    override init(frame:CGRect)
    {
        super.init(frame:frame)
        clipsToBounds = true
        backgroundColor = UIColor.clear
        
        let imageView:UIImageView = UIImageView()
        imageView.isUserInteractionEnabled = false
        imageView.translatesAutoresizingMaskIntoConstraints = false
        imageView.contentMode = UIViewContentMode.center
        imageView.clipsToBounds = true
        self.imageView = imageView
        
        addSubview(imageView)
        
        NSLayoutConstraint.equals(
            view:imageView,
            toView:self)
    }
    
    required init?(coder:NSCoder)
    {
        return nil
    }
    
    override var isSelected:Bool
    {
        didSet
        {
            hover()
        }
    }
    
    override var isHighlighted:Bool
    {
        didSet
        {
            hover()
        }
    }
    
    //MARK: private
    
    private func hover()
    {
        if isSelected || isHighlighted
        {
            imageView.tintColor = UIColor.white
        }
        else
        {
            imageView.tintColor = UIColor.colourBackgroundDark
        }
    }
    
    //MARK: internal
    
    func config(model:MCreateTravelProtocol)
    {
        imageView.image = model.icon.withRenderingMode(
            UIImageRenderingMode.alwaysTemplate)
        hover()
    }
}

import UIKit

final class VCreateTravelListCell:UICollectionViewCell
{
    override init(frame:CGRect)
    {
        super.init(frame:frame)
        clipsToBounds = true
        backgroundColor = UIColor.clear
    }
    
    required init?(coder:NSCoder)
    {
        return nil
    }
    
    //MARK: internal
    
    func config(model:MCreateTravelProtocol)
    {
        
    }
}

--- 
+++ 
@@ -2,11 +2,26 @@
 
 final class VCreateTravelListCell:UICollectionViewCell
 {
+    private weak var imageView:UIImageView!
+    
     override init(frame:CGRect)
     {
         super.init(frame:frame)
         clipsToBounds = true
         backgroundColor = UIColor.clear
+        
+        let imageView:UIImageView = UIImageView()
+        imageView.isUserInteractionEnabled = false
+        imageView.translatesAutoresizingMaskIntoConstraints = false
+        imageView.contentMode = UIViewContentMode.center
+        imageView.clipsToBounds = true
+        self.imageView = imageView
+        
+        addSubview(imageView)
+        
+        NSLayoutConstraint.equals(
+            view:imageView,
+            toView:self)
     }
     
     required init?(coder:NSCoder)
@@ -14,10 +29,42 @@
         return nil
     }
     
+    override var isSelected:Bool
+    {
+        didSet
+        {
+            hover()
+        }
+    }
+    
+    override var isHighlighted:Bool
+    {
+        didSet
+        {
+            hover()
+        }
+    }
+    
+    //MARK: private
+    
+    private func hover()
+    {
+        if isSelected || isHighlighted
+        {
+            imageView.tintColor = UIColor.white
+        }
+        else
+        {
+            imageView.tintColor = UIColor.colourBackgroundDark
+        }
+    }
+    
     //MARK: internal
     
     func config(model:MCreateTravelProtocol)
     {
-        
+        imageView.image = model.icon.withRenderingMode(
+            UIImageRenderingMode.alwaysTemplate)
+        hover()
     }
 }
Add hover to create-travel list
