gpt4 book ai didi

ios - UITableViewCell 在滚动时重绘

转载 作者:行者123 更新时间:2023-11-28 08:56:16 25 4
gpt4 key购买 nike

我有一个 UITableView,其中包含带有 slider 和两个标签的单元格,每当 slider 离开 View 时,它似乎又被绘制在当前内容的顶部。

这是解释我的意思的 gif。

http://i.imgur.com/4dYtyJy.gifv

这是相关代码。

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let CellIdentifier: String = "\(indexPath.row) - \(indexPath.section)"
var cell: UITableViewCell! = self.tableView.dequeueReusableCellWithIdentifier(CellIdentifier)

if cell == nil {
cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: CellIdentifier)
}

let label = UILabel(frame: CGRect(x: 16.0, y: 16.0, width: 300, height: 30.0))
let percentageLabel = UILabel(frame: CGRect(x: 16.0, y: 0, width: 200.0, height: 30.0))
let slider = CustomUISlider(frame: CGRect(x: 16.0, y: 55.0, width: 300.0, height: 20.0))

slider.maximumTrackTintColor = Global().turqTint
slider.minimumTrackTintColor = Global().blueTint
slider.minimumValue = 0.0
slider.maximumValue = 1.0
slider.value = 0.0
slider.tag = indexPath.row
slider.setThumbImage(UIImage(named: "sliderThumbImage"), forState: .Normal)
slider.addTarget(self, action: "sliderValueChanged:", forControlEvents: .ValueChanged)

label.text = Array(selectedTypes)[indexPath.row].1

percentageLabel.text = "\(slider.value)"
percentageLabel.tag = indexPath.row

cell.tintColor = Global().tintColor
cell.addSubview(label)
cell.addSubview(slider)
cell.addSubview(percentageLabel)

return cell
}

最佳答案

我遇到过类似的问题。正如 Horst 在评论中所说,将该代码段放入 block 内即可解决问题:

if (cell == nil)
{
// Code that draws frames
}

关于ios - UITableViewCell 在滚动时重绘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32952630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com