我正在显示此图像中显示的数据 我想显示我用作标签的标记或分数。大约 100 个标签。
我将每个学生的详细信息作为 1 个单独的数组,例如:
student1 = [
[test details, test1, test2, test3, test4],
[subject1,100,98,56,78],
[subject2,67,78,89,56],
[subject3,67,56,34,78],
[subject4,56,46,84,38]]
student2 = [[test details, test1, test2, test3, test4],[subject1,100,98,56,78],[subject2,67,78,89,56],[subject3,67,56,34,78],[subject4,56,46,84,38]]
等等....
我想在UITableViewCell
自定义单元格中显示这些详细信息。
我写了类StudentCustomCell
,它扩展了UITableViewCell
使用 for 循环
- 创建滚动视图
- 创建分数的背景视图
- 并根据我的要求创建标记标签
当我执行代码时,只有学生 1 的相同标签/标记显示在所有单元格中。
因为我在 for-in-loop 中只使用学生 1 计数。
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "SCell", for: indexPath) as! StudentCustomCell
cell.cricketerName.text = studentDetails[indexPath.row][0]
cell.studentImage.image = UIImage(named: studentDetails[indexPath.row][0])
}
return cricketerCell
}
func scoreScrollView(){
scView = UIScrollView(frame: CGRect(x: 0, y: 120, width: cricketView.frame.width, height: 220))
scView.backgroundColor = .white
self.addSubview(scView)
var formatView:UIView!
for i in 0..<(student1[0] as AnyObject).count! {
formatView = UIView()
xAxis = 10
formatView.frame = CGRect(x: 0, y: CGFloat(yAxis), width: 640, height: 40)
if(i % 2 == 0){
formatView.backgroundColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 0.2132919521)
}else{
formatView.backgroundColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 0.4010595034)
}
for j in 0..<student1.count {
let label = UILabel()
label.text = "\(student1[j][i])"
label.frame = CGRect(x: xAxis, y: CGFloat(yAxis)+5, width: 60, height: 30)
xAxis = xAxis + 65
scView.addSubview(label)
}
yAxis = yAxis + 40
scView.addSubview(formatView)
scrolls.append(scView)
}
scView.contentSize = CGSize(width: xAxis, height: scView.frame.height)
}
test details subject1 subject2 subject3 subject4
test1 100 67 67 56
test2 98 78 56 46
test3 56 89 34 84
test4 78 56 78 38
我在表格视图的单元格/行中显示如上所述的结果。