代码之家  ›  专栏  ›  技术社区  ›  Jim

我怎样才能使一个细胞和它的元素看起来是灰色的?

  •  0
  • Jim  · 技术社区  · 6 年前

    UITableView UIView 并将其用作该单元格上的覆盖。

    以下是我的最新尝试:

    class PublicationTableViewCell: UITableViewCell {
    
      @IBOutlet weak var publicationTitle: UILabel!
      @IBOutlet weak var authorName: UILabel!
      @IBOutlet weak var authorInitials: UILabel!
      @IBOutlet weak var authorImage: UIImageView!
      @IBOutlet weak var bottomBorder: UIView! 
    
      var pub: PublicationModel? 
    
      func updateCellProperties(publication: PublicationModel, indexPathRow: Int) { 
        pub = publication if let isRead = publication.isRead {
    
        // this is the overlay that I can’t get to work
        let readOverlayView = UIView()
        readOverlayView.tintColor = UIColor.grey3
        readOverlayView.alpha = 0.5
        self.addSubview(readOverlayView)
    
        // I was greying out just the title like this. This will go away if I get the overlay to work
        publicationTitle.textColor = isRead ? UIColor.grey3 : UIColor.grey1
    
      }
    }
    
     // some helper methods…
    
    }
    

    我仔细检查了代码并确认,对于已阅读的文章,isRead标志为 true 创建readOverlayView的代码正在执行。

    我希望项目上的所有UI元素都灰显,这就是我不尝试更改单元格背景颜色的原因。

    • 有没有更好的方法来达到我想要的效果?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  0
  •   nitesuit    6 年前

    你可以做:

    readOverlayView.autoresizingMask = [.flexibleWidth, .flexibleHeight]

    但是,我建议在 Storyboard IBOutlet 蚂蚁简单设置 isHidden 价值 updateCellProperties 方法。

    祝你好运