I used the function CalculateRelativeWidgetBounds for two object, but the result has some inaccuracy。
eg:
Vector3 pos = Vector3.zero;
Bounds bound = NGUIMath.CalculateRelativeWidgetBounds(_needGuideObj.transform, point.transform);
pos.x = bound.center.x;
pos.y = bound.center.y;
GameObject c1 = new GameObject();
c.transform.localPosition = pos;
But the gameobject C1 position has some inaccuracy. But C1's position is not different from the special gameobject of point at the editor.