swift 3中的多选下拉菜单
Posted
技术标签:
【中文标题】swift 3中的多选下拉菜单【英文标题】:dropdown menu with multi selection in swift 3 【发布时间】:2016-12-10 05:24:13 【问题描述】:我想要swift3
中的dropdown
菜单,像这样我分层到谷歌搜索,但没有找到任何带有多选的下拉菜单。我在目标 c 中找到了下拉列表,我想要这样...
我在 Objective-C 中发现的
请推荐我
提前致谢
【问题讨论】:
【参考方案1】:1 .创建子 VC 并在您想要打开下拉菜单的按钮上使用此代码。
注意:不要忘记降低chil VC的视图不透明度
-
将 CategoryVC 添加为子 VC。
我在标签左侧添加了图像,但您可以根据需要添加标签右侧。
enter image description here 故事板视图
输出视图enter image description here
使用标签和按钮创建标题,然后从下拉列表中获取一个表格视图。像这样自定义单元格。您看到的标签左侧的框,它只是一个按钮,并在默认情况下为图像提供此按钮,并从情节提要中选择状态。
在 cellForRowAtIndexPath 方法中,仅通过 true 和 false 来管理选择和取消选择按钮的状态。(显示用户图像是否已被选中)或带刻度线的图像,使用属性 hide/show。
4在didSelectRowAtIndexPath方法中,将按钮的特定选中状态切换为选中状态和正常状态。或者隐藏和显示图像。
-
现在在完成按钮上从您的父级中删除您的子 VC
注意:要将数据从子 VC 传递到父 VC,您必须使用委托协议和回调闭包。
如果您需要任何其他帮助,您可以提出。
【讨论】:
Thanx @Tinu Dahiya 但我已经提到我已经创建了我自己的,但如果有任何可用的 pod,我会选择这个 如果您必须在多个 VC 中使用相同的下拉菜单,则通过创建 xib 而不是 childVC 来执行相同的代码。寻求任何其他帮助。 yaa 当然.. 我正在使用故事板【参考方案2】:<View style=flexDirection:'row',alignItems:'center',justifyContent:'center' >
<Text style=divider>English </Text>
selectedIndex === 0 ?<Image
source=RIGHT_GREEN_ICON
style=width: 16, height: 16,right:20,position:'absolute'
/>
: null
</View>,
<View style=flexDirection:'row' ,alignItems:'center',justifyContent:'center' >
<Text style=divider>हिन्दी </Text>
selectedIndex ===1 ?<Image
source=RIGHT_GREEN_ICON
style=width: 16, height: 16,right:20,position:'absolute'
/>
: null
</View>,
【讨论】:
【参考方案3】:您可以将此第三方用作多选或单选下拉:
RSSelectionMenu
如何将它用作多选下拉菜单:
func showMultiSelectionActionSheet(simpleDataArray:[String],textField:UITextField)
let selectionMenu = RSSelectionMenu(selectionStyle: .multiple, dataSource: simpleDataArray) (cell, name, indexPath) in
cell.textLabel?.text = name
cell.tintColor = #colorLiteral(red: 0.4669097662, green: 0.8560531735, blue: 0.3897160292, alpha: 1)
//customization selection of row
selectionMenu.cellSelectionStyle = .checkbox
// show as actionsheet
selectionMenu.show(style: .actionSheet(title: nil, action: "Done", height: nil), from: self)
//dismiss handler
selectionMenu.onDismiss = [weak self] selectedItems in
textField.text = selectedItems.joined(separator:",")
// perform any operation once you get selected items
// show message 'No data found'
selectionMenu.showEmptyDataLabel()
【讨论】:
以上是关于swift 3中的多选下拉菜单的主要内容,如果未能解决你的问题,请参考以下文章
基于 deluge 中的多选下拉菜单从 zoho creator 搜索记录
如何制作不在 HTML 中的多选下拉菜单。它需要在良好的用户界面中