Latest | 1.0.1 |
---|---|
Homepage | https://github.com/omidgolparvar/IDPersianDatePicker |
License | MIT |
Platforms | ios 10.0, requires ARC |
Authors |
سلام دوستان! 🤓
🗓 🇮🇷 انتخابگر تاریخ پارسی
خود آیاواس یه DatePicker داره که میشه Locale و Calendar رو براش به بطوری تنظیم کرد تا باهاش بتونیم یه تاریخ پارسی انتخاب کنیم. اما شخصا بنظرم زیاد جالب نبود؛ چون با استفاده از اون:
- هربار فقط میشه یک تاریخ رو انتخاب کرد.
- از فونت پیشفرض خود سیستم عامل استفاده میکنه.
- خوشگل نیست.
برای همین تصمیم گرفتم یه چیزی پیادهسازی کنم تا این ویژگیها/ایرادات رو نداشته باشه. چندتا عکس هم ازش قرار دادم، تا بتونین یه نگاهی (قبل از استفاده) بهش بندازین.
![]() |
![]() |
![]() |
نصب
برای نصب میتونین از Cocoapod
استفاده کنین. عبارت مورد استفاده برای نصب هم اینه:
pod 'IDPersianDatePicker'
👈 توجه داشته باشین که زبان مورد استفاده توی این پروژه سوییفت نسخه ۴.۲ بوده.
استفاده
قدم اول
اولین قدم اینه که ایمپورتش کنین:
“`swift
import IDPersianDatePicker
“`
قدم دوم
مرحله بعد اینه که ویوکنترلر شما یه پروتکل رو پیادهسازی کنه. پروتکلی که باید پیادهسازی کنه PersianDatePickerDelegate
هست. وظیفه این پروتکل آماده کردن دادهها و مشخصههای مورد استفاده در انتخابگر هست.
متدها و مشخصههایی که داره بصورت زیر هست:
- مشخصه
persianDatePicker_BaseFont
از نوعUIFont
این مشخصه فونت مورد استفاده توی انتخابگر رو مشخص میکنه.
- مشخصه
persianDatePicker_Title
از نوعString
این مشخصه عنوان مورد نظر برای انتخابگر رو مشخص میکنه.
- مشخصه
persianDatePicker_Message
از نوعString?
این مشخصه پیام دلخواه شما (که زیر عنوان قرار میگیره) رو مشخص میکنه؛ و البته اجباری نیست.
- مشخصه
persianDatePicker_SelectedDateColors
از نوع(text: UIColor, background: UIColor)
این مشخصه رنگ مورد نظر شما برای روزهای انتخابشده رو مشخص میکنه. در واقع اولی رنگ متن و دومی رنگ پسزمینه رو مشخص میکنه.
- مشخصه
persianDatePicker_CanSelectMultipleDates
از نوعBool
با استفاده از این مشخصه میتونین فعالبودن قابلیت انتخاب چندین روز رو مشخص کنین.
- مشخصه
persianDatePicker_MinimumDate
از نوعDate
این مشخصه حداقل روز قابل انتخاب رو مشخص میکنه.
- مشخصه
persianDatePicker_MaximumDate
از نوعDate
این مشخصه حداکثر روز قابل انتخاب رو مشخص میکنه.
- متد
persianDatePicker_CanSelectDate(_ date: Date)
و خروجی از نوعBool
با استفاده از این متد میتونین از انتخاب یه سری روزها جلوگیری کنین.
- متد
persianDatePicker_DidSelectDates(_ dates: [Date])
زمانیکه که کاربر روی دکمه انتخاب بزنه، روزهایی که انتخاب شده، با استفاده از این متد در دسترس خواهند بود.
👈 اینو در نظر داشته باشین که همه این مشخصهها و متدها اجباری نیستن؛ بعضیاشون دارای بنده پیشفرض هستن که میتونین خودتون بررسیشون کنین.
قدم سوم
برای فراخوانی و نمایش انتخابگر هم بصورت زیر عمل میکنیم:
“`swift
PersianDatePickerController.Present(
from : UIViewController,
delegate : PersianDatePickerDelegate,
completion : (() -> Void)?
)
“`
توی این متد، پارامتر from
مشخصکننده ویوکنترلر فعلی هست، پارامتر delegate
برابر اون آبجکتی هست که پروتکل مورد نیاز رو پیادهسازی کرده، و اون پارامتر completion
هم که بعد از نمایش انتخابگر فراخوانی میشه.
سخن آخر
- 👀
اگه ایرادی توی روند پیادهسازی یا استفاده مشاهده کردین، حتما بگین تا رفعش کنیم. - 🤝
اگه قابلیت خاصی به ذهنتون رسید که میتونست به بهتر شدن این پروژه کمک کنه، حتمن بگین؛ شاید با کمک هدیگه پیادهسازیاش کردیم. - 😋
تنکیوووووو.
Latest podspec
{ "name": "IDPersianDatePicker", "version": "1.0.1", "summary": "Framework for selecting date in Persian Calendar written Swift.", "description": "Framework for selecting date in Persian Calendar.n Written in Swift.", "homepage": "https://github.com/omidgolparvar/IDPersianDatePicker", "license": { "type": "MIT", "file": "LICENSE.md" }, "authors": { "Omid Golparvar": "[email protected]" }, "source": { "git": "https://github.com/omidgolparvar/IDPersianDatePicker.git", "tag": "1.0.1" }, "swift_version": "4.2", "platforms": { "ios": "10.0" }, "requires_arc": true, "pod_target_xcconfig": { "SWIFT_VERSION": "4.2" }, "source_files": [ "PersianDatePicker/*.{h,swift}", "PersianDatePicker/Source/**/*.{h,swift}", "PersianDatePicker/Source/**/*.xib" ], "resources": [ "PersianDatePicker/Source/Assets.xcassets" ], "public_header_files": "PersianDatePicker/*.h", "libraries": "z" }
Wed, 15 May 2019 10:40:11 +0000