التخطّي إلى المحتوى
menumenu tanreiexpand_morecontrasttranslate
tanreiexpand_more
البدءWebReactSwiftUIJetpack ComposeFlutterReact Nativeالإعدادات الجاهزةنظام التصميم الخاص بكاستخدام Tanrei مع وكلاء الذكاء الاصطناعيالعلامة التجاريةرموز التصميمأنظمة التصميم والتخصيصTheme Studioاللونالطباعةالأيقوناتالشكلالارتفاعالحركةحالات التفاعلالسلوكالتخطيطإمكانية الوصولالكلماترموز الألوانرموز السلّم الطباعيرموز الشكلرموز الارتفاعرموز الحركةرموز الحالةرموز التباعد والقياسالمكوّناتالزرزر الإجراء الرئيسيالزر المقسَّممجموعة الأزرارزر مع قائمةشريط الأدواتزر النسخخانة الاختيارزر الاختيارمفتاح التبديلالرقاقةقائمة الخياراتشريط التمريرحقل شريط التمريرالتقويمDateTimePickerمجموعة الحقولمجموعة أزرار الاختيارمجموعة خانات الاختيارعنصر الاختيارحقل الاختيارشريط القوائمرفع الملفاتمنتقي الملفات متقدّمساحة الإفلاتحقل إدخال النص متقدّمحقل النصحقل الرقاقاتالحقلمربع التحرير والسرد متقدّمحقل التحرير والسردحقل إدخال العدد متقدّمحقل العددحقل إدخال اللون متقدّمحقل اللونحقل إدخال الرمز لمرة واحدة متقدّمحقل الرمز لمرة واحدةحقل إدخال النص المدمج متقدّممربع كتابة الرسائلالبطاقةالفاصلالطبقة النمطية متقدّممربع الحوارالقائمة (list)صف القائمةاللوحة السفليةاللوحة الجانبيةالعرض الدوّاركتلة الشيفرةالجدولاللوحة المنبثقةالخطواتالأكورديونقائمة الوصفالشكل التوضيحيهيكل التطبيقرأس الصفحةالعرض الشجريالخط الزمنيمعاينة الصورمقبض تغيير الحجمالإطار القابل لتغيير الحجممنطقة التمريرالشارةمؤشر التقدمالعدّادعارض الأرقام المتحرّكمؤشر التحميلشريط الإشعار (Snackbar)التلميحاختصار لوحة المفاتيحالوسمالشيفرة المضمَّنةالتنويهالصورة الرمزيةالحالة الفارغةمجموعة الوسومهيكل التحميلعنصر الملفمربع اللونالنص المتحركعلامات التبويبعرض التبويباتشريط التطبيقشريط التنقلدرج التنقلالبحثالرابطالتنقل بين الصفحاتروابط السابق والتاليمؤشر الخطواتمسار التنقلجدول المحتوياتبطاقة الرابطقائمة FABالحالةكيف يُبنى Tanreiالمساهمةالترخيص والإسناد
الرئيسيةالبدءSwiftUI

SwiftUI

أضف Tanrei إلى تطبيق iOS أو macOS عبر Swift Package Manager.

content_copyعرض بتنسيق Markdown

توفّر حزمة Swift المسمّاة Tanrei عروض SwiftUI وبيئة للسمة وثوابت رموز (tokens) مولَّدة. تدعم iOS 17 و macOS 14 وما بعدهما، وهي مكتوبة لوضع اللغة Swift 6.

لم يُنشر بعد

Tanrei غير موجودة بعدُ على Swift Package Manager. تُنشر المنصة حين تلحق بالمواصفات الحالية، والتكامل المستمر (CI) الخاص بـ SwiftUI متوقف حتى ذلك الحين. يبيّن قسم «من الشيفرة المصدرية» أدناه كيف تُضاف الحزمة من chnotchy/tanrei، ويبيّن قسم «بعد نشرها» طريقة التثبيت حينها.

التثبيت

من الشيفرة المصدرية

لا تُبنى اليوم

لم تلحق حزمة SwiftUI بعد بالمواصفات والرموز (tokens) الحالية: كُتبت مصادرها على إصدار سابق من شيفرة الرموز المولَّدة، ولا تُترجَم (compile) على شيفرة اليوم. والتكامل المستمر (CI) الخاص بها متوقف إلى أن تلحق، وصفحة الحالة تَسِم مكوّناتها بأنها متأخرة. الخطوات أدناه هي طريقة إضافتها إلى تطبيق، وتعمل حين تلحق الحزمة.

استنسخ المستودع بجانب تطبيقك وأضف النسخة المستنسخة حزمةً محلية: في Xcode اختر File → Add Package Dependencies… → Add Local…‎ ثم المجلد الذي يحمل Package.swift، أو في ملف Package.swift الخاص بك:

dependencies: [
  .package(path: "../tanrei")
],
targets: [
  .target(name: "App", dependencies: [.product(name: "Tanrei", package: "tanrei")])
]

والسطر .package(url: "https://github.com/chnotchy/tanrei", branch: "main") يتبع المستودع بدلًا من نسخة محلية مستنسخة.

بعد نشرها

في Xcode اختر File → Add Package Dependencies…‎ وأدخل عنوان المستودع، أو أضفه إلى Package.swift:

dependencies: [
  .package(url: "https://github.com/chnotchy/tanrei", from: "<version>")
],
targets: [
  .target(name: "App", dependencies: [.product(name: "Tanrei", package: "tanrei")])
]

يقع بيان الحزمة في جذر المستودع لأن Swift Package Manager يحلّ اعتماديات Git من هناك. وستُوسَم إصدارات Swift بأرقام إصدارات دلالية مجرّدة.

الاستخدام

import SwiftUI
import Tanrei

struct DeployView: View {
  @State private var isDeploying = false

  var body: some View {
    TanreiButton("نشر", variant: .filled, action: { isDeploying = true })
      .disabled(isDeploying)
  }
}

المعامل action: هو الحدث click في المواصفة؛ والإغلاق اللاحق (trailing closure) هو المنفذ icon: (TanreiButton("نشر", action: deploy) { Image(systemName: "arrow.up") }). لا يوجد معامل باسم disabled. يتبع Tanrei بيئة .disabled(_:) الخاصة بـ SwiftUI، فتعطيل حاوية يعطّل الأزرار التي بداخلها، كما يحدث مع عناصر تحكم النظام.

السمة والتباين

يتبع Tanrei افتراضيًّا المخطط اللوني للنظام وإعداد إمكانية الوصول Increase Contrast. ويمكنك تجاوز أيٍّ منهما بمعدِّل السمة:

ContentView()
  .tanreiTheme(TanreiTheme(appearance: .dark, contrast: .high))

الخطوط

يستخدم السلّم الطباعي الخط Inter (و Noto Sans JP لليابانية، و Roboto Mono للشيفرة) إذا كانت الخطوط مسجَّلة في تطبيقك، وإلا عاد إلى خط النظام. تُسمّى أنماط النص بحسب المستوى، وهي موجودة على النظام في البيئة (@Environment(\.tanreiSystem) private var system): .tanreiTextStyle(system.typescale.heading2) لعنوان قسم، و system.typescale.body للنص المتصل، و system.typescale.label لعنصر تحكم. وهي تتغير حجمًا مع Dynamic Type؛ أما .tanreiTextStyle(system.typescale.heading1, emphasized: true) فيضيف إلى الوزن درجة التوكيد الخاصة بفئة العناوين. وتتبع الزوايا القيمة system.shape.cornerSmoothing: الزاوية .circular عند 0، وزاوية .continuous التي يوفّرها نظام التشغيل لأي مقدار أكبر من 0.