مكتبة عروض Swift التقديمية المجانية لتطبيقات iOS
مكتبة Swift مفتوحة المصدر لعرض النوافذ المنبثقة والمحتوى والشعارات والإشعارات بسهولة مثل vVews داخل تطبيقات iOS.
SwiftEntryKit هي مكتبة مفتوحة المصدر مفيدة جدًا توفر لمطوري البرامج طريقة خفيفة الوزن وقابلة للتخصيص لإنشاء تطبيقات iOS بسهولة. تم إنشاؤه بواسطة Roman Sakhnievych في عام 2018 واكتسب منذ ذلك الحين شعبية بين مطوري iOS نظرًا لمرونته وسهولة استخدامه. تعد الإشعارات عنصرًا حاسمًا في تطبيقات الهاتف المحمول الحديثة. فهي تسمح للمطورين بإبلاغ المستخدمين بالأحداث أو التحديثات المهمة، مثل الرسائل الجديدة أو تحديثات التطبيقات أو العروض الترويجية. ومع ذلك، قد يكون إنشاء إشعارات مخصصة مهمة صعبة، خاصة للمطورين ذوي الخبرة المحدودة في تطوير iOS.
تهدف مكتبة SwiftEntryKit مفتوحة المصدر إلى تبسيط هذه العملية من خلال تزويد المطورين بنظام إشعارات معد مسبقًا يمكن تخصيصه بسهولة ليتناسب مع شكل ومظهر تطبيقاتهم. قدمت المكتبة عددًا من خيارات التخصيص لسلوك الإشعارات. يمكن لمطوري البرامج اختيار رفض الإشعار تلقائيًا بعد فترة زمنية معينة، أو السماح للمستخدم برفضه يدويًا. ويمكنهم أيضًا تحديد كيفية تقديم الإشعار للمستخدم، مثل ما إذا كان يجب أن يظهر في أعلى الشاشة أو أسفلها.
في الختام، تعد مكتبة SwiftEntryKit مكتبة قوية ومرنة لإنشاء طرق عرض منبثقة في تطبيقات iOS. خيارات التخصيص الشاملة، ودعم الرسوم المتحركة المعقدة، والتوافق مع إصدارات iOS المتعددة تجعل منه خيارًا ممتازًا للمطورين الذين يرغبون في إنشاء نوافذ منبثقة مخصصة دون قضاء الكثير من الوقت في تفاصيل التنفيذ. إذا كنت تبحث عن مكتبة سهلة الاستخدام وغنية بالميزات لإنشاء عروض منبثقة في تطبيق iOS الخاص بك، فمن المؤكد أن SwiftEntryKit يستحق التدقيق.
البدء مع SwiftEntryKit
الطريقة الموصى بها لتثبيت مكتبة SwiftEntryKit Swift هي استخدام CocoaPods. الرجاء استخدام الأمر التالي للتثبيت السلس.
قم بتثبيت SwiftEntryKit عبر CocoaPods
$ gem install cocoapods
قم بتثبيت SwiftEntryKit عبر GitHub
$ git clone https://github.com/huri000/SwiftEntryKit.git
يمكنك تنزيله مباشرةً من GitHub
إدارة الرسوم المتحركة عبر Swift API
تضمنت Swift API مفتوحة المصدر دعمًا لإضافة الرسوم المتحركة وإدارتها إلى طرق العرض المنبثقة والعروض التقديمية داخل تطبيقات Swift. تتضمن المكتبة أيضًا دعمًا للرسوم المتحركة المعقدة مثل تأثيرات المنظر وتأثيرات التمويه والتحويلات ثلاثية الأبعاد. يمكن أن تساعد هذه الرسوم المتحركة في جعل طرق العرض المنبثقة أكثر جاذبية وغامرة، ويمكن أن تساعد في جذب الانتباه إلى المعلومات المهمة. توضح الأمثلة التالية الترجمة من الأعلى مع الربيع، والقياس، وحتى التلاشي كرسوم متحركة لمدخل واحد.
كيفية إظهار الترجمة من الأعلى عبر Swift API؟/h3>attributes.entranceAnimation = .init(
translate: .init(duration: 0.7, anchorPosition: .top, spring: .init(damping: 1, initialVelocity: 0)),
scale: .init(from: 0.6, to: 1, duration: 0.7),
fade: .init(from: 0.8, to: 1, duration: 0.3))
attributes.entranceAnimation = .init(
translate: .init(duration: 0.7, anchorPosition: .top, spring: .init(damping: 1, initialVelocity: 0)),
scale: .init(from: 0.6, to: 1, duration: 0.7),
fade: .init(from: 0.8, to: 1, duration: 0.3))
إنشاء طرق عرض منبثقة جديدة عبر Swift API
تسهل مكتبة Swift Presentation مفتوحة المصدر على مطوري البرامج إنشاء طرق عرض منبثقة جديدة داخل تطبيقات iOS الخاصة بهم. فهو يسمح بعرض اللافتات أو النوافذ المنبثقة داخل UIWindow منفصلة، بحيث يتمكن المستخدمون من التنقل في التطبيق بحرية بينما يتم عرض الإدخالات بطريقة غير تدخلية. النوافذ المنبثقة أو الإدخالات الأخرى قابلة للتخصيص بدرجة كبيرة ويمكن وضعها بسهولة إما في أعلى الشاشة أو في وسطها أو في أسفلها. من الممكن أيضًا عرضه داخل أو خارج المنطقة الآمنة على الشاشة ويمكن تطبيق أنماط مختلفة عليه. من الممكن أيضًا تحديد أولوية العرض ومدة العرض بسهولة.
كيفية ضبط أولوية العرض داخل تطبيقات Swift؟
let highPriorityAttributes = EKAttributes()
highPriorityAttributes.precedence.priority = .high
let normalPriorityAttributes = EKAttributes()
normalPriorityAttributes.precedence.priority = .normal
// Display high priority entry
SwiftEntryKit.display(entry: view1, using: highPriorityAttributes)
// Display normal priority entry (ignored!)
SwiftEntryKit.display(entry: view2, using: normalPriorityAttributes)
// view2 won't be displayed!
How to Generate Top Floating Entry & Set Properties via Swift API?
var attributes = EKAttributes.topFloat
attributes.entryBackground = .gradient(gradient: .init(colors: [EKColor(.red), EKColor(.green)], startPoint: .zero, endPoint: CGPoint(x: 1, y: 1)))
attributes.popBehavior = .animated(animation: .init(translate: .init(duration: 0.3), scale: .init(from: 1, to: 0.7, duration: 0.7)))
attributes.shadow = .active(with: .init(color: .black, opacity: 0.5, radius: 10, offset: .zero))
attributes.statusBar = .dark
attributes.scroll = .enabled(swipeable: true, pullbackAnimation: .jolt)
attributes.positionConstraints.maxSize = .init(width: .constant(value: UIScreen.main.minEdge), height: .intrinsic)
let title = EKProperty.LabelContent(text: titleText, style: .init(font: titleFont, color: textColor))
let description = EKProperty.LabelContent(text: descText, style: .init(font: descFont, color: textColor))
let image = EKProperty.ImageContent(image: UIImage(named: imageName)!, size: CGSize(width: 35, height: 35))
let simpleMessage = EKSimpleMessage(image: image, title: title, description: description)
let notificationMessage = EKNotificationMessage(simpleMessage: simpleMessage)
let contentView = EKNotificationMessageView(with: notificationMessage)
SwiftEntryKit.display(entry: contentView, using: attributes)