عن المشروع
JXPhotoBrowser هو مكوّن واجهة مستخدم لتصفح الوسائط في تطبيقات iOS، يعتمد أساسًا على UIKit وUICollectionView، ويتطلب iOS 12.0+ وSwift 5.4+، ويمكن دمجه في SwiftUI عبر طبقة جسر. لا يربط المكوّن نفسه بنموذج بيانات خاص بالعمل، ولا يضمّن مكتبة لتحميل الصور؛ إذ يوفّر المفوض عدد العناصر وطريقة الوصول إلى Cell وتهيئته، بينما تُنجَز عملية تحميل الصور فعليًا عبر المكتبة التي يختارها المستخدم المدمج.
من ناحية التفاعل والعرض، يدعم التصفح الأفقي أو الرأسي بملء الصفحة، والتكرار اللانهائي، والانتقال البرمجي بين الصفحات، وتهيئة المسافة بين الصفحات، والتشغيل التلقائي. يمكن تكبير الصور بالضغط المزدوج أو بالقرص، ويمكن تهيئة نسبة تكبير الضغط المزدوج. تتضمن طرق الإغلاق إيماءة السحب لأسفل، ويمكن اختيار انتقال Zoom أو Fade أو None، كما يمكن توفير عرض صورة مصغّرة للعمل مع انتقال التكبير. في وضع التمرير الرأسي لا يتم تفعيل الإغلاق بالسحب لأسفل.
تشمل آليات التوسعة تخصيص Cell وOverlay، وتستخدم أمثلة README JXZoomImageCell وJXPageIndicatorOverlay. إلى جانب العرض المشروط، يمكن أيضًا استخدام المتصفح كـ Banner مدمج عبر احتواء View Controller القياسي، وعندها تُعطَّل الانتقالات وإيماءة السحب لأسفل عادةً ويُهيأ التشغيل التلقائي. بعد تغيّر البيانات يجب استدعاء مدخل reloadData الخاص بالمكوّن بدلًا من التعامل المباشر مع collectionView الداخلي.
يدعم التثبيت CocoaPods وSwiftPM وCarthage؛ وتحمل حزمة الدمج PrivacyInfo.xcprivacy، ويذكر README أن المكوّن لا يتتبع المستخدمين ولا يجمع بيانات، ولا يستخدم Required Reason API. تتضمن القيود المعروفة تثبيت الاتجاه العمودي وعدم دعم دوران الجهاز، كما أن كل Cell يكون ثابتًا بحجم صفحة المتصفح بالكامل، ومن الإصدار 4.1 لم يَعُد يدعم الأحجام المخصصة لكل عنصر على حدة. المشروع موزّع بموجب MIT License.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.