Swift根据数据更改tableviewcell边框颜色
发布时间:2020-12-14 04:43:10 所属栏目:百科 来源:网络整理
导读:我已根据inStock或outStock写了一个代码来改变单元边框的颜色,如果它在inStock它将是红色边框,否则它将是绿色的,但我不适合我,我把它放在willDisplayCell中,这里是我的代码: func tableView(_ tableView: UITableView,willDisplay cell: UITableViewCell,fo
我已根据inStock或outStock写了一个代码来改变单元边框的颜色,如果它在inStock它将是红色边框,否则它将是绿色的,但我不适合我,我把它放在willDisplayCell中,这里是我的代码:
func tableView(_ tableView: UITableView,willDisplay cell: UITableViewCell,forRowAt indexPath: IndexPath){ cell.backgroundColor = UIColor.clear cell.contentView.backgroundColor = UIColor.clear let whiteRoundedView : UIView = UIView(frame: CGRect(x:10,y: 5,width: self.view.frame.size.width - 20,height: 214)) whiteRoundedView.layer.masksToBounds = false whiteRoundedView.layer.cornerRadius = 5.0 whiteRoundedView.layer.shadowOffset = CGSize(width: -1,height: 1) whiteRoundedView.layer.borderWidth = 2 cell.contentView.addSubview(whiteRoundedView) cell.contentView.sendSubview(toBack: whiteRoundedView) if stock[indexPath.row] == "inStock" { whiteRoundedView.layer.borderColor = UIColor.red.cgColor } else { whiteRoundedView.layer.borderColor = UIColor.green.cgColor } } 解决方法
尝试将代码移动到像这样的cellForRowAt方法
cell.layer.masksToBounds = true cell.layer.cornerRadius = 5 cell.layer.borderWidth = 2 cell.layer.shadowOffset = CGSize(width: -1,height: 1) let borderColor: UIColor = (stock[indexPath.row] == "inStock") ? .red : .green cell.layer.borderColor = borderColor.cgColor (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |