我有一个包含大约 5 个单元格(行)的 UITableView。每个单元格(行)都添加了三个 UIButton 作为相应单元格的 subview 。
Row1: Button1 Button2 Button3//所有这些按钮都有 tag = row_number = 1
Row2: Button1 Button2 Button3//所有这些按钮都有 tag = row_number = 2
Row3: Button1 Button2 Button3//所有这些按钮都有 tag = row_number = 3
Row4: Button1 Button2 Button3//所有这些按钮都有 tag = row_number = 4
注意: 所有行的 Buttons1 都连接到同一个 IBAction。 相似地, 所有行的Buttons2都连接到同一个IBAction。很快... 我完全能够检测到单元格内按下了哪个按钮。我为此使用了标签。
我想要执行以下操作:
- 如果按下一行中的按钮,则该按钮应在按下时隐藏,而同一行中的所有其他按钮应保持显示。一段时间后,如果从同一行按下另一个按钮,则新按下的按钮应隐藏,而先前隐藏的按钮应返回 View 。
目前,我可以隐藏按下的第一个按钮,但如果随后按下同一行的另一个按钮,则无法将其恢复。
- 这是否也可以跟踪同一行内先前按下的按钮?
请指导我应该如何实现这一点。
提前致谢。
最佳答案
由于您的问题一次只影响单个细胞,因此我们可以专注于一个细胞。
您应该使用 UITableViewCell
子类来保留对其按钮的引用,并且是其操作的目标
。
因此子类可以很好地封装管理所有与 View 相关的界面更改。
然后您可以使用 Delegation将操作传播到 View Controller 并处理实际逻辑。
编辑
关于你的第二个问题,通过这种设置,可以通过在每次按下时将每个按钮的索引附加到 [Int]
来轻松跟踪单元格内按钮按下的顺序。
关于ios - 使用 iOS Swift 隐藏三个按钮中的一个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35537932/