当我点击部分按钮时 Tableview 单元格不展开
Tableview Cell Not Expanding When I tap On Section Button
我正在创建具有展开和折叠功能的表格视图。我的问题是当我点击任何部分的部分按钮时,只有第一部分是 Expand.If 我点击任何其他部分,然后再次只有第一部分会展开。我有一个 xib class 用于自定义部分,我添加了一个用于扩展部分的按钮。
这是我的代码
我要返回 4 个部分。
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) ->
Int {
return (sections[section].collapsed!) ? 0 : 4
}
@objc Class 处理功能
@objc func toggleCollapse(sender: UIButton) {
let section = sender.tag
let collapsed = sections[section].collapsed
sections[section].collapsed = !collapsed!
self.wareHouseTable.reloadSections(NSIndexSet(index: section) as IndexSet, with: .automatic)
}
我的模型Class
struct Section {
var name: String!
var items: [String]!
var collapsed: Bool!
init(name: String, items: [String]) {
self.name = name
self.items = items
self.collapsed = true
}
}
您可以通过简单的方式展开和折叠功能。
- 首先在 tableview 数据源方法中从 cellfor row 设置按钮标签
- 其次在按钮操作方法中获取该标记并执行所需的代码。
Tableview 数据源和委托
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell:UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell") as! UITableViewCell
cell.buttonExpand.tag = indexPath.section
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return (sections[section].collapsed!) ? 0 : 4
}
按钮操作
@IBAction func actionExpand(_ sender:UIButton) {
let senderTag = IndexPath(item: sender.tag, section: 0) /// Return Indexpath
sections[senderTag.section].collapsed = !sections[senderTag.section].collapsed
self.wareHouseTable.reloadSections(NSIndexSet(index: senderTag.section) as IndexSet, with: .automatic)
}
我正在创建具有展开和折叠功能的表格视图。我的问题是当我点击任何部分的部分按钮时,只有第一部分是 Expand.If 我点击任何其他部分,然后再次只有第一部分会展开。我有一个 xib class 用于自定义部分,我添加了一个用于扩展部分的按钮。
这是我的代码
我要返回 4 个部分。
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) ->
Int {
return (sections[section].collapsed!) ? 0 : 4
}
@objc Class 处理功能
@objc func toggleCollapse(sender: UIButton) {
let section = sender.tag
let collapsed = sections[section].collapsed
sections[section].collapsed = !collapsed!
self.wareHouseTable.reloadSections(NSIndexSet(index: section) as IndexSet, with: .automatic)
}
我的模型Class
struct Section {
var name: String!
var items: [String]!
var collapsed: Bool!
init(name: String, items: [String]) {
self.name = name
self.items = items
self.collapsed = true
}
}
您可以通过简单的方式展开和折叠功能。
- 首先在 tableview 数据源方法中从 cellfor row 设置按钮标签
- 其次在按钮操作方法中获取该标记并执行所需的代码。
Tableview 数据源和委托
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell:UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell") as! UITableViewCell
cell.buttonExpand.tag = indexPath.section
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return (sections[section].collapsed!) ? 0 : 4
}
按钮操作
@IBAction func actionExpand(_ sender:UIButton) {
let senderTag = IndexPath(item: sender.tag, section: 0) /// Return Indexpath
sections[senderTag.section].collapsed = !sections[senderTag.section].collapsed
self.wareHouseTable.reloadSections(NSIndexSet(index: senderTag.section) as IndexSet, with: .automatic)
}