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 中的多选下拉菜单。它需要在良好的用户界面中

使用带复选框的多选下拉菜单搜索或过滤 jquery 数据表中的列

带有选择所有复选框的多选下拉菜单

Swift中带有多选复选框的可扩展下拉菜单

带有 jquery-1.4.2.min.js 的搜索框插件的多选下拉菜单