public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        if (GUILayout.Button("Start"))
        {
            ScrollRectRefresher rf = target as ScrollRectRefresher;
            rf.StartRefresh();
        }
        if (GUILayout.Button("Stop"))
        {
            ScrollRectRefresher rf = target as ScrollRectRefresher;
            rf.StopRefresh();
        }
    }
    protected override void Awake()
    {
        base.Awake();

        if (vertical && !horizontal && movementType == MovementType.Elastic)
        {
            m_CanvasGroup = GetComponent <CanvasGroup>();
            m_Refresher   = GetComponentInChildren <ScrollRectRefresher>(true);

            thresholdHoldContent = ((RectTransform)this.transform).sizeDelta.y * 0.3f;
            if (thresholdHoldContent < minThreshold)
            {
                thresholdHoldContent = minThreshold;
            }
        }
    }