ios - 启用/禁用 TableView 单元格 - iOS - Swift

标签 ios swift uitableview

我有一个 TableView ,其中加载了 4 行。

第 3 行将有一个复选框。我只想在选中 Row3 复选框时启用 Row 4

所以我有一个用于复选框(即按钮)和点击该复选框的操作的 socket 。

我的问题是如何获取对下一个单元格的引用并使其启用/禁用

我试图获取该单元格的引用 myTableView.cellForRow(at: index + 1) 但它会抛出二进制操作数无法应用于 indexPath 的错误。

请建议我如何实现

最佳答案

我假设您有自己的自定义 UITableViewCell 类。而您的 MyTableViewController 是此 tableview 单元格的委托(delegate)。 每当用户选中/取消选中时,您的框委托(delegate)都会将这件事告诉您的 Controller ,然后您调用 reload 方法来删​​除给定的行。

这是我在我的应用中使用的解决方案。

import Foundation
import UIKit

class MyTableViewController: UITableViewController {
    private struct CurrentSetting {
        var RowAEnabled: Bool = true
        var RowBEnabled: Bool = true
        var RowCEnabled: Bool = true
        var RowDEnabled: Bool = true
        var RowEEnabled: Bool = true
        //...
        //maybe more?
    }


    /// Let's say those are your table view rows. Data or whatever.
    fileprivate var settings: [String] {
        //In here you have your static position.
        var configuration = ["Row A","Row B", "Row C"]
        //However, if some data are enabled/disabled you modify it based on settings
        if current.RowAEnabled {
            configuration += ["Row D"]
        }
        return configuration
    }
    //This is your setting for current tableview
    private var current = CurrentSetting()
}

//Use this to reload row for your enable/disable cell.
tableView.reloadRows(at: [indexPath], with: .none)

举例说明它是如何与我的应用一起工作的。 重要提示:设置它是您的表格 View 的数据源。项目数。

enter image description here

关于ios - 启用/禁用 TableView 单元格 - iOS - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49041353/

相关文章:

ios - ScrollView 没有出现

ios - UIPageViewController 行为与 Scroll 和 PageCurl 不同

ios - 静态工具操作的静态类与静态结构?

ios - 如何为所有项目显示已展开的 STCollapseTableView?

ios - textview 文本到数组中

ios - 你知道这个堆栈跟踪意味着什么吗?

ios - Core Data一对多排序

swift - 使用未解析的类型 MutableProperty

swift - iOS 14上的TableView中会出现一个额外的UITableViewCellContentView叠加层,可防止点击,但在iOS 13上可以正常工作

ios - 如何使用 UITableview 部分的首字母而不是整个部分标签?