使用RSSelectionMenu(Swift)实现iOS Dropdown
每个iOS开发人员都想知道为什么没有默认的UIKit组件来显示下拉列表或选择列表的问题? 🤔
当您的团队同时为(Android和iOS)平台开发移动应用程序时,Android开发人员会获得一点优势,因为他们具有Material Design Dropdown菜单。
每次都使用所需的委托,数据源创建UITableView并将其显示为弹出框,这太令人沮丧。 并且当它有多个选择时,会增加代码复杂度。
因此,这是一个更加简单,易于使用但功能强大的可重用控件,可以用作下拉菜单,也可以从Swift中创建的列表中进行多个选择。
让我们看看如何在iOS应用中实现RSSelectionMenu 。
安装
椰子足
pod'RSSelectionMenu'
显示单个选择列表
只需创建带有所需列表的菜单,提供所选项目并显示。
let数据:[String] = [“ Jack”,“ Rob”,“ Michel”,“ Denial”]
var selectedNames:[字符串] = []
//使用数据源创建菜单->此处[String]
let menu = RSSelectionMenu(dataSource:data){(单元格,名称,indexPath)在
cell.textLabel?.text =名称
}
//提供选定的项目
menu.setSelectedItems(items:selectedNames){(名称,索引,selected,selectedItems)在
selectedNames = selectedItems
}
//显示-现在
menu.show(来自:自我)
// 要么
//显示-推送
menu.show(style:.push,from:self)
多项选择
猜猜您需要做什么才能拥有多选列表?
只需将样式指定为“ multiple”即可 。
let menu = RSSelectionMenu(selectionStyle:.multiple,dataSource:data){(单元格,名称,indexPath)在
cell.textLabel?.text =名称
}
搜索
如果您有很长的项目可供选择,并且可以使用搜索功能,那简直是小菜一碟。
在菜单中显示SearchBar并根据需要实施过滤器。
//显示带有搜索栏
menu.showSearchBar {[弱自我](searchText)->([String])在
返回self..data.filter({$ 0.lowercased()。starts(with:searchText.lowercased())})?? []
}