gpt4 book ai didi

ios - UITableViewCell - 根据内容选择背景大小

转载 作者:行者123 更新时间:2023-11-28 10:13:29 25 4
gpt4 key购买 nike

我有这个代码来获取表格单元格

func getCell(_ tableView: UITableView) -> UITableViewCell? {
var cell:UITableViewCell? = tableView.dequeueReusableCell(withIdentifier: CELL_REUSE_ID)

if (cell == nil)
{
//init and configure the cell
cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: CELL_REUSE_ID)

let selectedView:UIView = UIView(frame: CGRect(x: 0, y: 0, width: cell!.frame.size.width, height: cell!.frame.size.height))
selectedView.backgroundColor = UIColor.black.withAlphaComponent(0.3)

let layer = selectedView.layer
layer.borderColor = UIColor.blue.cgColor
layer.borderWidth = getCellBorderWidth();
layer.cornerRadius = getCellCornerRadius();
layer.backgroundColor = UIColor.blue.cgColor

cell!.selectedBackgroundView = selectedView
}

return cell
}


override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell:UITableViewCell? = getCell(tableView)

cell!.backgroundColor = UIColor.clear

cell!.textLabel!.textColor = UIColor.darkText
cell!.textLabel!.text = tableData[indexPath.row]
cell!.textLabel!.textAlignment = .right
cell!.textLabel!.numberOfLines = 1
cell!.textLabel!.adjustsFontSizeToFitWidth = true

return cell!
}

单元格和表格是在代码中生成的,没有 xibs。现在,如果我选择单元格,背景将覆盖表格的整个宽度。我如何为某些单元格设置背景,这些单元格只有表格宽度的一半(或其他百分比比例)?

最佳答案

我想你可以添加另一个 View 到selectedBackgroundView

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCell(withIdentifier: "cell")
if cell == nil {
cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
// selectedBackgroundView
let backgroundView = UIView()
backgroundView.backgroundColor = UIColor(white: 0, alpha: 0)
// add another view to selectedBackgroundView, and set any frame for this view
let selectView = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 40))
selectView.backgroundColor = .red
backgroundView.addSubview(selectView)
cell?.selectedBackgroundView = backgroundView
}

return cell!

}

关于ios - UITableViewCell - 根据内容选择背景大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44746938/

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