SwiftUI Series 11|الوضع المظلم لـSwiftUI والخطوط الديناميكية والتكيف متعدد الأحجام
التكيف الحقيقي ليس هو قفل الصفحة في حالة بصرية واحدة منذ البداية.
بدت العديد من الصفحات طبيعية على جهاز التطوير في البداية:
-اللون على ما يرام -حجم الخط مناسب أيضًا
- التصميم سلس للغاية
ولكن فقط قطع إلى:
- الوضع المظلم
- خط أكبر
- شاشة أضيق
- نسخة أطول
سيتم كشف المشكلة على الفور.
يوضح هذا أن العديد مما يسمى “مشكلات التكيف” هي في الأساس صفحة تمت كتابتها في حالة افتراضية من البداية.
1. الوضع الداكن والخطوط الديناميكية والشاشات المختلفة كلها تتساءل عن نفس الشيء: هل الصفحة مرنة للتغيرات البيئية؟
الموقف الشائع هو النظر إلى عناصر التكيف هذه بشكل منفصل:
- الوضع الداكن هو مشكلة اللون
- الخطوط الديناميكية هي مسألة حجم الخط
- التكيف مع الشاشة الصغيرة يمثل مشكلة في التخطيط
وبطبيعة الحال، هذه الأحكام صحيحة، ولكن من مستوى أعلى، فهي في الأساس تختبر نفس الشيء:
هل يتم إنشاء الصفحة في “بيئة افتراضية” واحدة فقط؟
إذا كانت الصفحة تبدو معقولة فقط في حجم الخط الافتراضي ووضع الضوء والحجم القياسي، فإن مشكلتها تكمن في الواقع في عدم كفاية المرونة.
2. فشل التكيف الأكثر شيوعًا هو أن عددًا كبيرًا جدًا من الافتراضات المرئية تم ترميزها بشكل ثابت.
على سبيل المثال:
- النص يكون دائما سطر واحد
- ارتفاع البطاقة ثابت
- يمكن دائمًا الحفاظ على المسافة بين الأيقونات وكتابة الإعلانات
- لون معين واضح بما فيه الكفاية على أي خلفية
قد تكون هذه الافتراضات صحيحة في بيئة واحدة، ولكن بمجرد أن تتغير البيئة، تنهار جميعها معًا.
لذا فإن ما يهم حقًا فيما يتعلق بالتكيف هو التقليل من كتابة هذا الافتراض الهش.
3. المشكلة الأكثر شيوعًا التي تتعرض لها الخطوط الديناميكية هي أن مستوى التخطيط غير مستقر.
عندما يتم طرح موضوع الخطوط الديناميكية، يكون رد الفعل الأول هو:
- إذا كان حجم الخط كبير جدًا، فهل سيتجاوز حجم الخط
هذه مشكلة بالتأكيد، لكن المخاطر الأعمق هي:
- بعض الهياكل تكون صالحة بطبيعتها فقط في ظل طول نسخة ثابت.
- يتم الحفاظ على بعض البطاقات بطبيعتها بارتفاعات مرمزة
- لا توجد مرونة في بعض العلاقات بين الصورة والنص.
لذا فإن الخطوط الديناميكية تختبر ما إذا كان التخطيط صالحًا فقط عند “هذا الحجم فقط”.
4. الصعوبة الحقيقية للوضع المظلم هي ما إذا كانت علاقة التسلسل الهرمي والتباين غير متوازنة.
تواجه العديد من الصفحات مشاكل بعد التحول إلى الألوان الداكنة:
- العلاقة بين الخلفية والتسلسل الهرمي للنص غير واضحة
- تبدو الألوان المميزة جيدة في الوضع الفاتح، ولكنها قاسية في الوضع الداكن
- المعلومات الثانوية ذات تباين منخفض جدًا في الألوان الداكنة
بمعنى آخر، يختبر الوضع المظلم ما إذا كان التسلسل الهرمي المرئي واضحًا بدرجة كافية.
5. يعتمد التكيف مع الشاشات ذات الأحجام المختلفة بشكل أساسي على ما إذا كان منطق تخصيص المساحة مستقرًا بدرجة كافية
تبدو بعض الصفحات مريحة على شاشة كبيرة، ولكنها تبدأ في الظهور بالشكل التالي على شاشة صغيرة:
- الضغط
- استراحة
- كل شيء افسدت بعد فاصل السطر
وهذا يدل على أن المشكلة عادة لا تكمن في الشاشة الصغيرة نفسها، ولكن في منطق تخصيص المساحة غير المستقر. على سبيل المثال:
- ما هي المناطق التي ينبغي توسيعها بشكل مرن؟
- ما هي المناطق التي يمكن تغليفها بالخط؟
- المحتوى الذي له أولوية أعلى
لم أفكر في هذا الأمر بوضوح في البداية، لكن سيتم كشفه بمجرد تغيير المعدات.
6. الخلاصة: القدرة الحقيقية على التكيف هي في الأساس مرونة الصفحة مع التغيرات البيئية.
ولكي أختصر الأمر أقول:
تتكيف صفحات SwiftUI مع الوضع المظلم والخطوط الديناميكية والشاشات ذات الأحجام المختلفة. ما يجب فعله حقًا هو عدم قفل الصفحة في بيئة افتراضية من البداية.
عندما تكون الصفحة نفسها مرنة، سيكون التكيف أكثر طبيعية؛ عندما لا تكون هناك مرونة، عادة ما تصبح البقع اللاحقة أكثر وأكثر عددًا.
What to read next
Want more posts about SwiftUI?
Posts in the same category are usually the best next step for reading more on this topic.
View same categoryWant to keep following #iOS?
Tags are useful for related tools, specific problems, and similar troubleshooting notes.
View same tagWant to explore another direction?
If you are not sure what to read next, return to the homepage and start from categories, topics, or latest updates.
Back home