我想重用表格视图单元格按钮。最初我在单元格中有两个按钮隐藏,一个按钮可见。当我点击可见按钮时,隐藏的两个按钮也将可见。我设置了按钮目标动作。这是我的代码
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CellForEndItem", for: indexPath as IndexPath) as! CellForEndItem
cell.incrementBtn.isHidden = true
cell.decreamentBtn.isHidden = true
cell.priceLbl.text = "$ 200"
cell.counterBtn.tag = indexPath.row
cell.incrementBtn.tag = indexPath.row
cell.decreamentBtn.tag = indexPath.row
cell.counterBtn.addTarget(self, action: #selector(CounterBtnTapped(sender:)), for: .touchUpInside) }
现在轰鸣声是我的CounterBtnTapped方法..
var count: Int = 0
func CounterBtnTapped(sender: UIButton) {
self.count += 1
let indexPath = IndexPath(row: sender.tag, section: 0)
let cell = self.tableView.dequeueReusableCell(withIdentifier: "CellForEndItem",for: indexPath) as! CellForEndItem
cell.incrementBtn.isHidden = false
cell.decreamentBtn.isHidden = false
sender.setTitle(String(self.count), for: .normal)
}
但不知何故,增量和减量按钮不可见。我在这做错了什么。需要专家建议??
答案 0 :(得分:1)
只需在故事板上添加导航项目按钮并更改其背景颜色即可。创建一个UIButton
的出口并制作圆角。
@IBOutlet weak var barBtn: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
barBtn.layer.cornerRadius = 5
barBtn.layer.borderWidth = 1
barBtn.layer.borderColor = UIColor.blackColor().CGColor
}
答案 1 :(得分:0)
您可以创建自定义按钮,然后将customView添加到右侧按钮按钮的导航栏按钮。
var view = UIView(frame: CGRectMake(0, 0, 100, 44))
view.backgroundColor = UIColor.blueColor()
var barButtonItem = UIBarButtonItem(customView: view)
self.navigationItem.rightBarButtonItem = barButtonItem
添加相关代码,使您的按钮看起来像设计,然后将其添加到customView。
答案 2 :(得分:0)
您可以将自定义视图用作barButtonItem。
let customButton = UIButton(frame: .zero)
// configure title text and color, background color, action, etc. using UIButton functions.
// configure shadow, cornerRadius using customButton.layer properties
navigationItem.rightBarButtonItem = UIBarButtonItem(customView: customButton)
答案 3 :(得分:0)
问题在于刷新tableView Cell。我添加了以下代码行
tableView.reloadRows(at: [indexPath], with: .automatic)
也可以。