public static void AdjustInRectangle(this RectTransform src, RectTransform dst) { Rect dstRect = dst.rect; Bounds bounds = RectTransformUtility.CalculateRelativeRectTransformBounds(dst, src); Rect srcRect = new Rect(bounds.min, bounds.size); Vector2 offset = srcRect.AdjustInRect(dstRect).min - (Vector2)bounds.min; src.localPosition += (Vector3)offset; }