{"id":2208,"date":"2019-11-12T10:07:00","date_gmt":"2019-11-12T02:07:00","guid":{"rendered":"http:\/\/www.u3d8.com\/?p=2208"},"modified":"2020-11-12T18:16:44","modified_gmt":"2020-11-12T10:16:44","slug":"unity-%e4%bb%a3%e7%a0%81%e8%ae%be%e7%bd%ae%e9%94%9a%e7%82%b9","status":"publish","type":"post","link":"http:\/\/www.u3d8.com\/?p=2208","title":{"rendered":"Unity \u4ee3\u7801\u8bbe\u7f6e\u951a\u70b9"},"content":{"rendered":"\n<p>\u8f6c\u8f7d\uff1a<a href=\"https:\/\/answers.unity.com\/questions\/1225118\/solution-set-ui-recttransform-anchor-presets-from.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/answers.unity.com\/questions\/1225118\/solution-set-ui-recttransform-anchor-presets-from.html<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using UnityEngine;\n \n public enum AnchorPresets\n     {\n     TopLeft,\n     TopCenter,\n     TopRight,\n \n     MiddleLeft,\n     MiddleCenter,\n     MiddleRight,\n \n     BottomLeft,\n     BottonCenter,\n     BottomRight,\n     BottomStretch,\n \n     VertStretchLeft,\n     VertStretchRight,\n     VertStretchCenter,\n \n     HorStretchTop,\n     HorStretchMiddle,\n     HorStretchBottom,\n \n     StretchAll\n }\n \n public enum PivotPresets\n {\n     TopLeft,\n     TopCenter,\n     TopRight,\n \n     MiddleLeft,\n     MiddleCenter,\n     MiddleRight,\n \n     BottomLeft,\n     BottomCenter,\n     BottomRight,\n }\n \n public static class RectTransformExtensions\n {\n     public static void SetAnchor(this RectTransform source, AnchorPresets allign, int offsetX=0, int offsetY=0)\n     {\n         source.anchoredPosition = new Vector3(offsetX, offsetY, 0);\n \n         switch (allign)\n         {\n             case(AnchorPresets.TopLeft):\n             {\n                 source.anchorMin = new Vector2(0, 1);\n                 source.anchorMax = new Vector2(0, 1);\n                 break;\n             }\n             case (AnchorPresets.TopCenter):\n             {\n                 source.anchorMin = new Vector2(0.5f, 1);\n                 source.anchorMax = new Vector2(0.5f, 1);\n                 break;\n             }\n             case (AnchorPresets.TopRight):\n             {\n                 source.anchorMin = new Vector2(1, 1);\n                 source.anchorMax = new Vector2(1, 1);\n                 break;\n             }\n \n             case (AnchorPresets.MiddleLeft):\n             {\n                 source.anchorMin = new Vector2(0, 0.5f);\n                 source.anchorMax = new Vector2(0, 0.5f);\n                 break;\n             }\n             case (AnchorPresets.MiddleCenter):\n             {\n                 source.anchorMin = new Vector2(0.5f, 0.5f);\n                 source.anchorMax = new Vector2(0.5f, 0.5f);\n                 break;\n             }\n             case (AnchorPresets.MiddleRight):\n             {\n                 source.anchorMin = new Vector2(1, 0.5f);\n                 source.anchorMax = new Vector2(1, 0.5f);\n                 break;\n             }\n \n             case (AnchorPresets.BottomLeft):\n             {\n                 source.anchorMin = new Vector2(0, 0);\n                 source.anchorMax = new Vector2(0, 0);\n                 break;\n             }\n             case (AnchorPresets.BottonCenter):\n             {\n                 source.anchorMin = new Vector2(0.5f, 0);\n                 source.anchorMax = new Vector2(0.5f,0);\n                 break;\n             }\n             case (AnchorPresets.BottomRight):\n             {\n                 source.anchorMin = new Vector2(1, 0);\n                 source.anchorMax = new Vector2(1, 0);\n                 break;\n             }\n \n             case (AnchorPresets.HorStretchTop):\n             {\n                 source.anchorMin = new Vector2(0, 1);\n                 source.anchorMax = new Vector2(1, 1);\n                 break;\n             }\n             case (AnchorPresets.HorStretchMiddle):\n             {\n                 source.anchorMin = new Vector2(0, 0.5f);\n                 source.anchorMax = new Vector2(1, 0.5f);\n                 break;\n             }\n             case (AnchorPresets.HorStretchBottom):\n             {\n                 source.anchorMin = new Vector2(0, 0);\n                 source.anchorMax = new Vector2(1, 0);\n                 break;\n             }\n \n             case (AnchorPresets.VertStretchLeft):\n             {\n                 source.anchorMin = new Vector2(0, 0);\n                 source.anchorMax = new Vector2(0, 1);\n                 break;\n             }\n             case (AnchorPresets.VertStretchCenter):\n             {\n                 source.anchorMin = new Vector2(0.5f, 0);\n                 source.anchorMax = new Vector2(0.5f, 1);\n                 break;\n             }\n             case (AnchorPresets.VertStretchRight):\n             {\n                 source.anchorMin = new Vector2(1, 0);\n                 source.anchorMax = new Vector2(1, 1);\n                 break;\n             }\n \n             case (AnchorPresets.StretchAll):\n             {\n                 source.anchorMin = new Vector2(0, 0);\n                 source.anchorMax = new Vector2(1, 1);\n                 break;\n             }\n         }\n     }\n \n     public static void SetPivot(this RectTransform source, PivotPresets preset)\n     {\n \n         switch (preset)\n         {\n             case (PivotPresets.TopLeft):\n             {\n                 source.pivot = new Vector2(0, 1);\n                 break;\n             }\n             case (PivotPresets.TopCenter):\n             {\n                 source.pivot = new Vector2(0.5f, 1);\n                 break;\n             }\n             case (PivotPresets.TopRight):\n             {\n                 source.pivot = new Vector2(1, 1);\n                 break;\n             }\n \n             case (PivotPresets.MiddleLeft):\n             {\n                 source.pivot = new Vector2(0, 0.5f);\n                 break;\n             }\n             case (PivotPresets.MiddleCenter):\n             {\n                 source.pivot = new Vector2(0.5f, 0.5f);\n                 break;\n             }\n             case (PivotPresets.MiddleRight):\n             {\n                 source.pivot = new Vector2(1, 0.5f);\n                 break;\n             }\n \n             case (PivotPresets.BottomLeft):\n             {\n                 source.pivot = new Vector2(0, 0);\n                 break;\n             }\n             case (PivotPresets.BottomCenter):\n             {\n                 source.pivot = new Vector2(0.5f, 0);\n                 break;\n             }\n             case (PivotPresets.BottomRight):\n             {\n                 source.pivot = new Vector2(1, 0);\n                 break;\n             }\n         }\n     }\n }<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u8f6c\u8f7d\uff1ahttps:\/\/answers.unity.com\/questions\/1 &hellip; <a href=\"http:\/\/www.u3d8.com\/?p=2208\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[22],"tags":[403,402],"_links":{"self":[{"href":"http:\/\/www.u3d8.com\/index.php?rest_route=\/wp\/v2\/posts\/2208"}],"collection":[{"href":"http:\/\/www.u3d8.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.u3d8.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.u3d8.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.u3d8.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2208"}],"version-history":[{"count":1,"href":"http:\/\/www.u3d8.com\/index.php?rest_route=\/wp\/v2\/posts\/2208\/revisions"}],"predecessor-version":[{"id":2209,"href":"http:\/\/www.u3d8.com\/index.php?rest_route=\/wp\/v2\/posts\/2208\/revisions\/2209"}],"wp:attachment":[{"href":"http:\/\/www.u3d8.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.u3d8.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2208"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.u3d8.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}