但是当我向下滚动下边距边缘的单元格稍微亮一点时,当前的单元格就像这样
向后滚动后,第一个单元变得更亮,通过多次滚动,它变为完全白色。
这是表格视图单元格
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("newsCell", forIndexPath: indexPath) as! EventsViewCell
let dict = componentsLoaded[indexPath.row] as! NSDictionary
cell.eventTitle!.text = (dict["news_headline"] as! String)
cell.backgroundColor = UIColor.clearColor()
let date_post = dict["news_date"] as! String
cell.dateLabel!.text = ConvertDate().convertYourDate(date_post)
return cell
}
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
let height = cell.frame.height
cell.contentView.backgroundColor = UIColor.clearColor()
let whiteRoundedView : UIView = UIView(frame: CGRectMake(10, 10, self.view.frame.size.width - 20, height ))
red = CGColorCreate(CGColorSpaceCreateDeviceRGB(), [1.0, 1.0, 1.0, 0.3])
whiteRoundedView.layer.backgroundColor = red
whiteRoundedView.layer.masksToBounds = false
whiteRoundedView.layer.cornerRadius = 5.0
cell.contentView.addSubview(whiteRoundedView)
cell.contentView.sendSubviewToBack(whiteRoundedView)
}
答案 0 :(得分:2)
你的问题在于WillDisplaycell中的这一行
cell.contentView.addSubview(whiteRoundedView)
此行在每次显示单元格时添加alpha 0.3的白色视图,在上一个视图上方显示多个视图,从而产生更多白色视图外观。
请在创建单元格时添加白色视图,即
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("newsCell", forIndexPath: indexPath) as! EventsViewCell
let dict = componentsLoaded[indexPath.row] as! NSDictionary
cell.eventTitle!.text = (dict["news_headline"] as! String)
cell.backgroundColor = UIColor.clearColor()
let date_post = dict["news_date"] as! String
cell.dateLabel!.text = ConvertDate().convertYourDate(date_post)
let whiteRoundedView : UIView = cell.viewWithTag(1001/*Your tag*/)
red = CGColorCreate(CGColorSpaceCreateDeviceRGB(), [1.0, 1.0, 1.0, 0.3])
whiteRoundedView.layer.backgroundColor = red
whiteRoundedView.layer.masksToBounds = false
whiteRoundedView.layer.cornerRadius = 5.0
return cell
}
答案 1 :(得分:0)
请将该视图分配到表视图方法的一侧。 你可以在视图中添加这个加载。 然后在单元格的contentView中添加此视图。
它可能有用......
答案 2 :(得分:0)
问题是由于出队问题。每当你在cellForRowAtIndexPath方法中添加一个子视图时,你必须检查视图是否已经添加为SubView,如果它已经被添加,那么你必须删除子视图并重新添加它。