راجع سجل التغيير للحصول على التفاصيل
؟ عرض بحث رائع، مكتوب بلغة Swift 5.0، يظهر عرض بحث مثل عرض Pinterest Search. يمكنك تخصيص هذه المكتبة بالكامل. يمكنك أيضًا استخدام هذه المكتبة مع Realm! انظر الاستخدام أدناه
YNSearch
مكتوب بلغة Swift 5.0. متوافق مع نظام التشغيل iOS 8.0+
YNSearch متاح من خلال CocoaPods. لتثبيته، ما عليك سوى إضافة السطر التالي إلى ملف Podfile الخاص بك:
pod 'YNSearch'
github "younatics/YNSearch"
تعيين الفئات (مطلوب) وتاريخ البحث (اختياري)
import YNSearch
let demoDatabase = [ " Menu " , " Animation " , " Transition " , " TableView " , " CollectionView " , " Indicator " , " Alert " , " UIView " , " UITextfield " , " UITableView " , " Swift " , " iOS " , " Android " ]
ynSearch . setCategories ( value : demoDatabase )
ynSearch . setSearchHistories ( value : demoDatabase )
self . ynSearchinit ( )
تعيين قاعدة البيانات (مطلوب) والمفتاح (مطلوب). سيتم عرض المفتاح في YNSearchListView
يمكنك تعيين قاعدة البيانات الخاصة بك [Any]
إذا كنت تريد تخصيصها.
let database1 = YNDropDownMenu ( key : " YNDropDownMenu " )
let database2 = YNSearchData ( key : " YNSearchData " )
let demoDatabase = [ database1 , database2 ]
self . initData ( database : demoDatabase )
قم بتعيين مندوب YNSearchListView
func ynSearchListView ( _ ynSearchListView : UITableView , cellForRowAt indexPath : IndexPath ) -> UITableViewCell {
let cell = self . ynSearchView . ynSearchListView . dequeueReusableCell ( withIdentifier : YNSearchListViewCell . ID ) as! YNSearchListViewCell
if let ynmodel = self . ynSearchView . ynSearchListView . searchResultDatabase [ indexPath . row ] as? YNSearchModel {
cell . searchLabel . text = ynmodel . key
}
return cell
}
func ynSearchListView ( _ ynSearchListView : UITableView , didSelectRowAt indexPath : IndexPath ) {
if let ynmodel = self . ynSearchView . ynSearchListView . searchResultDatabase [ indexPath . row ] as? YNSearchModel , let key = ynmodel . key {
// Call listview clicked based on key
self . ynSearchView . ynSearchListView . ynSearchListViewDelegate ? . ynSearchListViewClicked ( key : key )
// return object you set in database
self . ynSearchView . ynSearchListView . ynSearchListViewDelegate ? . ynSearchListViewClicked ( object : self . ynSearchView . ynSearchListView . database [ indexPath . row ] )
// Append Search history
self . ynSearchView . ynSearchListView . ynSearch . appendSearchHistories ( value : key )
}
}
احصل على بياناتك مع Realm
let datas = realm . objects ( RealmModel . self )
المجال ليس من نوع المجموعة لذا تحتاج إلى تحويله مرة أخرى باستخدام النوع [Any]
. سيجد هذا كل السلسلة في RealmModel الخاص بك ويعرض لك النتائج.
var dataArray = [ Any ] ( )
for data in datas {
let searchModel = RealmModel ( )
searchModel . author = data . author
searchModel . detail = data . detail
searchModel . title = data . title
searchModel . type = data . type
dataArray . append ( searchModel )
}
self . initData ( database : dataArray )
منتهي!
YNSearchViewController: Inherit this viewcontroller
|-- YNSearchTextFieldView: YNSearchTextField with cancel button
| |-- YNSearchTextField: Search UITextfield
| |-- cancelButton: Show when YNSearchTextField textFieldDidBeginEditing
|
|-- YNSearchView : get both YNSearchMainView and YNSearchListView
| |-- YNSearchMainView: First view that you can see
| | |-- categoryLabel: Cateogry label
| | |-- [YNCategoryButton]: cateogory buttons
| | |-- searchHistoryLabel: Search history label
| | |-- [YNSearchHistoryView]: history views
| | | |-- [YNSearchHistoryButton]: Search history button
| | | |-- [closeButton]: Close button
| |
| |-- YNSearchListView: UITableview with search result
قم بتعيين YNSearchDelegate
إذا كنت تريد رد الاتصال
self . delegate = self
func ynSearchHistoryButtonClicked ( text : String ) {
print ( text )
}
func ynCategoryButtonClicked ( text : String ) {
print ( text )
}
func ynSearchListViewClicked ( text : String ) {
print ( text )
}
func ynSearchListViewClicked ( object : YNSearchModel ) {
print ( object )
}
قم بتعيين نوع YNCategoryButton
.
self . ynSearchView . ynSearchMainView . setYNCategoryButtonType ( type : . colorful )
رؤية المزيد من الاستخدام في العرض التوضيحي
YNSearch
بالكامل بناءً على التسلسل الهرمي للعرض يوناتيكس
YNSearch متاح بموجب ترخيص MIT. راجع ملف الترخيص لمزيد من المعلومات.