بالإضافة إلى الحجم الأساسي لعناصر واجهة المستخدم، يمكنك استخدام محددات الحجم لـ تغيير مقاس عنصر بشكل متناسب أو إعادة حجمه تلقائيًا. يمكنك أيضًا إدراج قيود الحجم للتحكم في نسبة العرض إلى الارتفاع، أو تعيين حد أدنى وحد أقصى لـ الحجم أو حجم النص.
تغيير الحجم
تخزن كائن UIScale قيمة عددية تقوم بضرب خاصية AbsoluteSize لعنصر GuiObject الأب. على سبيل المثال، إذا كنت ترغب في جعل عنصر ما ضعف حجمه الحالي، يمكنك إدراج كائن UIScale مع خاصية Scale تبلغ 2.
يكون هذا المحدد مفيدًا "للتكبير" أثناء تصميم واجهة مستخدم مفصلة في الاستوديو، حيث يقوم بتغيير حجم العنصر وجميع أطفاله بشكل متناسب، بما في ذلك أي محددات مظهر مُطبقة مثل UIStroke أو UICorner. كما أنه مفيد أيضًا لـ تحريك حجم عنصر ما، على سبيل المثال لزيادة حجم زر قليلاً عندما يحوم اللاعب فوقه بالماوس.

إعادة الحجم تلقائيًا
تقوم خاصية AutomaticSize بإعادة حجم عنصر GuiObject الأب تلقائيًا ليتناسب مع حجم أبنائه. يمكنك استخدام هذه الخاصية في مجموعة متنوعة من الحالات، بما في ذلك:
- السماح للمستخدمين بـ إدخال النص داخل TextBox، وضبط حجمه تلقائيًا بناءً على كمية النص المدخل.
- ضبط حجم عناصر النص تلقائيًا باستخدام علامات نص غنية، بما في ذلك نوع وحجم الخط.
يمكنك تمكين خاصية AutomaticSize لأي GuiObject. بشكل افتراضي، يتم تعيينها إلى None، ولكن يمكنك تغيير قيمتها للحصول على تحكم محدد في أي اتجاه (أو اتجاهات) يتم إعادة حجم GuiObject لتناسب محتواها.
لتمكين إعادة الحجم التلقائي:
في نافذة الاستكشاف، انقر على أي GuiObject، مثل Frame أو TextBox أو ImageLabel.
في نافذة الخصائص، انتقل إلى خاصية AutomaticSize (AutomaticCanvasSize لـ ScrollingFrame) وقم بتعيينها إلى أحد الخيارات التالية:
- X — يعيد ضبط محتوى العرض أفقيًا.
- Y — يعيد ضبط محتوى العرض رأسيًا.
- XY — يعيد ضبط محتوى العرض أفقيًا ورأسيًا.

بمجرد إعداد إعادة الحجم التلقائي، لاحظ أن خصائص العناصر الأخرى تتصرف كما يلي:
مثل مفهوم تغيير الحجم لعنصر ما، تأخذ خاصية AutomaticSize في اعتبارها خاصية AnchorPoint عند إعادة ضبط محتوى العرض. على سبيل المثال، يعرض الفيديو التالي ثلاثة TextLabels التي تتغير تلقائيًا من نقطة تثبيتها.
- تحتوي التسمية العليا على قيمة AnchorPoint من (0, 0.5) مما يربطها في منتصف الجانب الأيسر.
- تحتوي التسمية الوسطى على قيمة AnchorPoint من (0.5, 0.5) مما يربطها في المنتصف.
- تحتوي التسمية السفلية على قيمة AnchorPoint من (1, 0.5) مما يربطها في منتصف الجانب الأيمن.
القيود
هناك ثلاثة أنواع من القيود يمكنك استخدامها لعنصر واجهة المستخدم: الحجم، حجم النص، و نسبة العرض إلى الارتفاع. لاستخدام قيد، يجب أن تعينه كـ طفل لـ GuiObject الذي تريد تقييده.
الحجم
تحدد UISizeConstraint حدًا أدنى وحد أقصى لحجم GuiObject. تضمن هذه القيد أن GuiObject لا يصبح صغيرًا جدًا أو كبيرًا جدًا على أحجام الشاشات المختلفة.
على سبيل المثال، إذا قمت بتعيين خاصية MinSize إلى (200, 200) وخاصية MaxSize إلى (400, 400)، فلا يمكن أن يتقلص GuiObject إلى أقل من 200×200 بكسل أو أكبر من 400×400 بكسل.
حجم النص
تحدد UITextSizeConstraint حدًا أدنى وحد أقصى لحجم الخط لعناصر GuiObject التي تحتوي على نص، مثل TextLabel أو TextButton أو TextBox. تضمن هذه القيد أن النص داخل GuiObject لا يصبح غير واضح أو كبير جدًا.
إذا قمت بتمكين خاصية TextScaled لعنصر GuiObject الأب، يظهر حجم النص بالتناسب مع حجم الحاوية ويظل ملائمًا حتى لو أصبح العنصر أصغر أو أكبر من القيم MinTextSize و MaxTextSize.
على سبيل المثال، يحتوي هذا العنصر من نوع TextLabel على قيد UITextSizeConstraint بقيمة MinTextSize تساوي 50 وسقف حجم النص 80. حتى عندما يصبح TextLabel أصغر، لا يصبح الخط أصغر من 50 بكسل، وعندما يصبح العنصر أكبر، فإن الخط لا يتجاوز 80 بكسل.
نسبة العرض إلى الارتفاع
تفرض UIAspectRatioConstraint نسبة العرض إلى الارتفاع على GuiObject بغض النظر عن حجمه الأساسي، حتى لو تم تعيين هذا الحجم كنسبة مئوية من الأب. على سبيل المثال، إدراج هذا القيد كطفل لـ Frame وتعيين خاصية AspectRatio للقيد إلى 2 (2:1) يحافظ على عرض الإطار ضعف ارتفاعه. بالمثل، تعيين هذه الخاصية إلى 0.5 (0.5:1) يحافظ على عرض الإطار نصف ارتفاعه.
تعيين هذه الخاصية إلى القيمة الافتراضية 1 (1:1) هو طريقة ملائمة لمنع تغيير الحجم غير المتناسب/التمدد لعنصر ImageLabel ذو صورة مربعة، مثل صورة رمزية.