gpt4 book ai didi

uitableview - Tableview 选择将我的按钮隐藏在 tableview 单元格中

转载 作者:可可西里 更新时间:2023-11-01 00:37:36 31 4
gpt4 key购买 nike

还有一个问题,逻辑相同。 UITableViewCell subview disappears when cell is selected我没有得到我想要的正确解决方案。他们建议像那样对 View 进行子类化。但我需要在单元格本身内显示按钮。

让我们来回答我的问题:

我有一个自定义的和以编程方式创建的 TableView 。

请查看屏幕截图。

enter image description here

在此,我以编程方式将按钮添加到 tableview 单元格。

让我们来解决问题。

enter image description here

当我选择任何单元格时,它也会隐藏该按钮,我希望该按钮可见。

我的代码在这里:

     func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {


var cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("cell") as! UITableViewCell

// here is the redbutton

var redBtn = UIButton()
redBtn = UIButton(frame: CGRectMake(0, 0, 40, 40))
redBtn.backgroundColor = UIColor.redColor()
cell.addSubview(redBtn)

//label text just added from an array

cell.textLabel?.textAlignment = NSTextAlignment.Center
cell.textLabel?.text = items[indexPath.row]

return cell

}

如果需要:Tableview 创建代码:

       var tableView: UITableView  =   UITableView()

override func viewDidLoad() {
super.viewDidLoad()
tableView.frame = CGRectMake(0, 50, self.view.frame.width,self.view.frame.height);
tableView.delegate = self
tableView.dataSource = self
tableView.estimatedRowHeight = 30
tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")

self.view.addSubview(tableView)



}

提前致谢。

最佳答案

这是一个解决方案。给按钮一个标签号。

 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {


var cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("cell") as! UITableViewCell

// here is the redbutton

var redBtn = UIButton()
redBtn = UIButton(frame: CGRectMake(0, 0, 40, 40))
redBtn.backgroundColor = UIColor.redColor()
cell.contentView.addSubview(redBtn)
redBtn.tag = 101
//label text just added from an array

cell.textLabel?.textAlignment = NSTextAlignment.Center
cell.textLabel?.text = items[indexPath.row]

return cell
}

现在在 didSelectRowAtIndex 方法中添加这个。

func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {

var selectedCell = tableView.cellForRowAtIndexPath(indexPath) as UITableViewCell!

for subViews in selectedCell.contentView.subviews {

if subViews is UIButton && subViews.tag == 101 {
let button = subViews as! UIButton
selectedCell.bringSubviewToFront(button)
button.backgroundColor = UIColor.redColor()
}
}
}

关于uitableview - Tableview 选择将我的按钮隐藏在 tableview 单元格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30502189/

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