gpt4 book ai didi

iOS UITableView : clear section button

转载 作者:行者123 更新时间:2023-11-29 12:12:07 25 4
gpt4 key购买 nike

我需要在 TableView 部分标题中添加清除按钮。它与通知中心中的完全相同。因此,当用户单击它时,“x”将变为“清除”。如果他/她再次点击它,应用程序将执行操作。但是在此按钮之外的任何点击,“清除”将返回到“x”

我该怎么做?提前致谢

enter image description here

最佳答案

不幸的是,这并不是开箱即用的。您必须创建自己的自定义节标题 View 。该自定义 header View 在左侧包含一个 UILabel。在右侧放置一个标题为“X”的UIButton。当用户点击按钮时,将其标题更改为“清除”并将其状态更改为.Selected。仅在点击按钮且其状态为 .Selected 时清除表格 View 部分:

func setupButton() {
let button = UIButton()
button.setTitle("X", forState: .Normal)
button.addTarget(self, action: Selector("didPressButton:"), forControlEvents: .TouchUpInside)
addSubview(button)
}

func didPressButton(button: UIButton) {
if button.selected {
// clear your table view section
}
button.setTitle("Clear", forState: .Normal)
button.selected = true
}

要将按钮恢复为未选中状态,请将背景 UIView 添加到您的部分标题 View 并向其添加 UITapGestureRecognizer:

func setupBackground() {
let background = UIView()
let recognizer = UITapGestureRecognizer(target: self, action: Selector("didTapOutside:"))
background.addGestureRecognizer(recognizer)
insertSubview(background, belowSubview: button)
}

func didTapOutside(recognizer: UITapGestureRecognizer) {
button.selected = false
button.setTitle("X", forState: .Normal)
}

要在您的 TableView 中使用您的自定义部分标题,您需要实现以下 UITableViewDelegate 方法:

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
// create your custom section header and return it
}

关于iOS UITableView : clear section button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33140610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com