def from_center(from_view=nil, f=nil)
      if from_view.is_a?(Hash)
        f = from_view
        from_view = nil
      end
      f ||= {}
      from_view ||= target.superview
      _calculate_frame(f, from: from_view, relative_to: { x: :mid, y: :mid })
    end
def from_center(from_view=nil, f=nil)
      if from_view.is_a?(Hash)
        f = from_view
        from_view = nil
      end
      f ||= {}
      from_view ||= target.superview
      _calculate_frame(f, from: from_view, relative_to: { x: :mid, y: :mid })
    end
The first arg can be a view or a frame
 @example
   frame from_center(width: 80, height: 22)
   frame from_center(another_view, width: 80, height: 22)