2017-02-05 125 views
0

我有一個viewCell,有幾個不同的子視圖。其中之一是帶有橙色背景的標籤。現在當我在tableview中選擇單元格時,標籤背景閃爍(消失然後重新出現)到它的原始我不能看到是什麼導致此問題。當選擇單元格時,Swift tableView單元格子視圖閃爍(消失然後重新出現)

//my did select func 
    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
//  let selectedCell:UITableViewCell = tableView.cellForRow(at: indexPath)! 

     tableView.deselectRow(at: indexPath, animated: true) 
     let post = RquestInfoArray[indexPath.row] 
     if post["status"] as! String == "pending" { 

      let ac = UIAlertController(title: "My Rquest", message: "Options", preferredStyle: .actionSheet) 
      let detailAction = UIAlertAction(title: "View Detail", style: .default, handler: { (action) in 
       tableView.deselectRow(at: indexPath, animated: false) 
       print("view detail pressed") 
      }) 
      let deleteAction = UIAlertAction(title: "Delete", style: .default, handler: { (action) in 
       tableView.deselectRow(at: indexPath, animated: false) 
       self.tableView.reloadData() 
       print("Delete") 
      }) 
      let cancelAction = UIAlertAction(title: "Cancel", style: .default, handler: { (action) in 
       tableView.deselectRow(at: indexPath, animated: false) 
      }) 

      ac.addAction(detailAction) 
      ac.addAction(deleteAction) 
      ac.addAction(cancelAction) 
      self.present(ac, animated: true, completion: nil) 
      return 
     } 

     if post["status"] as! String == "accepted" { 
      let vc = messageViewController() 
      let posting = RquestInfoArray[indexPath.row] 
      let postId = posting["rquestId"] as! String 
      vc.hidesBottomBarWhenPushed = true 
      vc.postId = postId 

      self.navigationController?.pushViewController(vc, animated: true) 
     } 
    } 

回答

0

我假設你有一個橙色的背景標籤定製Cell類(讓調用它MyTableViewCell)。

因此,您必須重寫該單元格的setHighlighted(_:animated:)函數,並將標籤的背景保持爲橙色。

override func setHighlighted(_ highlighted: Bool, animated: Bool) { 
    ... 
    label.backgroundColor = <YourOrange> 
} 

根據您的代碼,您可能需要覆蓋setSelected(_:animated:)

您也可以直接設置單元的UITableViewCellSelectionStyle to UITableViewCellSelectionStyleNone

相關問題