     func actionButton(sender button:UIButton)
     {
         controller.displayDetail(imageView)
+    }
+    
+    //MARK: private
+    
+    private func updateDisplayOption()
+    {
+        imageView.contentMode = controller.model.displayOption.contentMode
     }
     
     //MARK: public

        button.addTarget(self, action:#selector(self.actionButton(sender:)), forControlEvents:UIControlEvents.TouchUpInside)
        
        let imageView:UIImageView = UIImageView()
        imageView.contentMode = UIViewContentMode.ScaleAspectFill
        imageView.clipsToBounds = true
        imageView.userInteractionEnabled = false
        imageView.translatesAutoresizingMaskIntoConstraints = false

            options:[],
            metrics:metrics,
            views:views))
        
        NSNotificationCenter.defaultCenter().addObserver(
            self,
            selector:#selector(self.notifiedDisplayOptionChanged(sender:)),
            name:NSNotification.NSNotificationName.ChatDisplayOptionChanged.rawValue,
            object:nil)
    }
    
    deinit
    {
        NSNotificationCenter.defaultCenter().removeObserver(self)
    }
    
    //MARK: notified
    
    func notifiedDisplayOptionChanged(sender notification:NSNotification)
    {
        dispatch_async(dispatch_get_main_queue())
        { [weak self] in
            
            self?.updateDisplayOption()
        }
    }
    
    //MARK: actions
