Как правильно выделить подсветку и выделить цвет красным в swift - PullRequest
0 голосов
/ 04 декабря 2018

Как показать кнопку Цвет подсветки ,, и цвет красный

extension LeaveDetailVC: cellIndexCall{
    func selectBtnIndex(sender: UIButton) {
        let buttonPosition:CGPoint = sender.convert(.zero, to:leaveDetailTableView)
        var indexPath = leaveDetailTableView.indexPathForRow(at: buttonPosition)
        self.indexPath = indexPath!
        print("\(String(describing: indexPath?.row))") /* index path of button
        self.menuClickIndex = (indexPath?.row)!   
    }
}

И моя кнопка покрывает tableViewCell.И я также создаю делегат кнопки в классе ячейки и вызываю viewController через расширение.

Я просто хочу выделить кнопку, и она находится над ячейкой.

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

В вашем представлении Контроллер

class LeaveDetailVC: ViewController {
    var selectedRows: [IndexPath] = [] // i assume multiple select button

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
          let cell = tableView.dequeueReusableCell(withIdentifier: "YOUR_CELL") as! YOUR_CELL_CLASS
          cell.isHighlight = selectedRows.indices.contains(indexPath) // Determine if cell was selected or not
    }
}

extension LeaveDetailVC: cellIndexCall {

    func selectBtnIndex(sender: UIButton) {
       let buttonPosition:CGPoint = sender.convert(.zero, to:leaveDetailTableView)
       var indexPath = leaveDetailTableView.indexPathForRow(at: buttonPosition)
       if selectedRows.indices.contains(indexPath) {
          if let index = selectedRows.index(of: indexPath) {
             self.selectedRows.remove(at: index) // remove selected indexpath
          }
       } else {
          self.selectedRows.append(indexPath) // add selected indexpath
       }
    }
}

В вашем классе сотовых

var isHighlight: Bool = false

override func layoutSubviews() {
   super.layoutSubviews()

   // TODO : Set your button color based on isHighlight flag
}
0 голосов
/ 04 декабря 2018
  override func tableView(_ tableView: UITableView, shouldHighlightRowAt 
  indexPath: IndexPath) -> Bool {
    return true
   }

  override func tableView(_ tableView: UITableView, didHighlightRowAt 
  indexPath: 
   IndexPath) {
   let cell = tableView.cellForRow(at: indexPath)
   cell?.contentView.backgroundColor = UIColor.orange
   cell?.backgroundColor = UIColor.orange
 }

  override func tableView(_ tableView: UITableView, didUnhighlightRowAt 
  indexPath: IndexPath) {
     let cell = tableView.cellForRow(at: indexPath)
     cell?.contentView.backgroundColor = UIColor.black
     cell?.backgroundColor = UIColor.black
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...