     /**
      * 设置子视图在路径曲线上的距离的类型,一共有flexed, fixed, count,默认是flexed,
      */
-    public var tg_spaceType : TGPathSpaceType = .flexed
+    public var tg_spaceType : TGPathSpaceType = .flexed {
+        didSet{
+            if tg_spaceType != oldValue {
+                setNeedsLayout()
+            }
+        }
+    }
     
     /**
      * 设置和获取布局视图中的原点视图，默认是nil。如果设置了原点视图则总会将原点视图作为布局视图中的最后一个子视图。原点视图将会显示在路径的坐标原点中心上，因此原点布局是不会参与在路径中的布局的。因为中心原点视图是布局视图中的最后一个子视图，而MyPathLayout重写了AddSubview方法，因此可以正常的使用这个方法来添加子视图。

    /**
     * 坐标系设置，您可以调整坐标系的各种参数来完成下列两个方法中的坐标到绘制的映射转换。
     */
    public private(set) var tg_coordinateSetting : TGCoordinateSetting!
    
    /**
     * 直角坐标普通方程，x是坐标系里面x轴的位置，返回y = f(x)。要求函数在定义域内是连续的，否则结果不确定。如果返回的y无效则函数要返回NAN

    /**
     * 坐标原点的位置,位置是相对位置，默认是(0,0), 假如设置为(0.5,0.5)则在视图的中间。
     */
    public var origin : CGPoint = CGPoint.zero {
        
        didSet{
            if !oldValue.equalTo(origin){
