     var customView: UIView? {
         didSet {
             self.updateIndicators()
-            self.swift_performSelectorOnMainThread("setNeedsLayout", withObject: nil, waitUntilDone: false)
-            self.swift_performSelectorOnMainThread("setNeedsDisplay", withObject: nil, waitUntilDone: false)
+            self.updateUI()
         }
     }
     

class MBBarProgressView: UIView {
    var progress: Float = 0.0 {
        didSet {
            self.swift_performSelectorOnMainThread("setNeedsDisplay", withObject: nil, waitUntilDone: false)
        }
    }
    
    var lineColor: UIColor? {
        didSet {
            self.swift_performSelectorOnMainThread("setNeedsDisplay", withObject: nil, waitUntilDone: false)
        }
    }
    
    var progressRemainingColor: UIColor? {
        didSet {
            self.swift_performSelectorOnMainThread("setNeedsDisplay", withObject: nil, waitUntilDone: false)
        }
    }
    
    var progressColor: UIColor? {
        didSet {
            self.swift_performSelectorOnMainThread("setNeedsDisplay", withObject: nil, waitUntilDone: false)
        }
    }
    

class MBRoundProgressView: UIView {
    var progress: Float = 0.0 {
        didSet {
//            self.swift_performSelectorOnMainThread("setNeedsDisplay", withObject: nil, waitUntilDone: false)
            self.updateUI()
        }
    }
    
    var progressTintColor: UIColor? {
        didSet {
//            self.swift_performSelectorOnMainThread("setNeedsDisplay", withObject: nil, waitUntilDone: false)
            self.updateUI()
        }
    }
    
    var backgroundTintColor: UIColor? {
        didSet {
//            self.swift_performSelectorOnMainThread("setNeedsDisplay", withObject: nil, waitUntilDone: false)
            self.updateUI()
        }
    }
    
    var annular: Bool = false {
        didSet {
//            self.swift_performSelectorOnMainThread("setNeedsDisplay", withObject: nil, waitUntilDone: false)
            self.updateUI()
        }
    }
    
