Anonymous
Представление заголовка таблицы не показывает правильный заголовок [дубликат]
Сообщение
Anonymous » 09 янв 2025, 18:56
У меня есть следующий код
Код: Выделить всё
private func addTableHeaderView() {
let scoreView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 150))
let scoreLabel = UILabel()
scoreLabel.text = "Score: 100"
scoreLabel.font = UIFont(name: "WorkSans-Bold", size: 20)
scoreLabel.textAlignment = .left
let scoreImageView = UIImageView()
scoreImageView.image = UIImage(named: "score") // Replace with your image
scoreImageView.contentMode = .scaleAspectFit
let streakImageView = UIImageView()
streakImageView.image = UIImage(named: "scorebar")
streakImageView.contentMode = .scaleAspectFit
let encouragementLabel = UILabel()
encouragementLabel.text = "Keep it up! Learn everyday and don’t let your score reset"
encouragementLabel.font = UIFont(name: "WorkSans-Medium", size: 14)
encouragementLabel.textAlignment = .center
encouragementLabel.numberOfLines = 0
scoreView.backgroundColor = .white
scoreView.layer.cornerRadius = 16
scoreView.addSubview(scoreLabel)
scoreView.addSubview(scoreImageView)
scoreView.addSubview(streakImageView)
scoreView.addSubview(encouragementLabel)
scoreLabel.translatesAutoresizingMaskIntoConstraints = false
scoreView.translatesAutoresizingMaskIntoConstraints = false
scoreImageView.translatesAutoresizingMaskIntoConstraints = false
encouragementLabel.translatesAutoresizingMaskIntoConstraints = false
streakImageView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
// Button stack constraints
scoreLabel.leadingAnchor.constraint(equalTo: scoreView.leadingAnchor, constant: 16),
scoreLabel.topAnchor.constraint(equalTo: scoreView.topAnchor),
scoreLabel.widthAnchor.constraint(equalToConstant: 200),
scoreLabel.heightAnchor.constraint(equalToConstant: 50),
scoreImageView.trailingAnchor.constraint(equalTo: scoreView.trailingAnchor, constant: -16),
scoreImageView.topAnchor.constraint(equalTo: scoreView.topAnchor, constant: 16),
scoreImageView.widthAnchor.constraint(equalToConstant: 36),
scoreImageView.heightAnchor.constraint(equalToConstant: 36),
streakImageView.centerXAnchor.constraint(equalTo: scoreView.centerXAnchor),
streakImageView.topAnchor.constraint(equalTo: scoreImageView.bottomAnchor, constant: 16),
streakImageView.widthAnchor.constraint(equalToConstant: 307),
streakImageView.heightAnchor.constraint(equalToConstant: 30),
encouragementLabel.centerXAnchor.constraint(equalTo: scoreView.centerXAnchor),
encouragementLabel.topAnchor.constraint(equalTo: streakImageView.bottomAnchor, constant: 16),
encouragementLabel.leadingAnchor.constraint(equalTo: scoreView.leadingAnchor, constant: 16),
encouragementLabel.trailingAnchor.constraint(equalTo: scoreView.trailingAnchor, constant: -16),
])
tableView.tableHeaderView = scoreView
}
К сожалению, ScoreView не добавляется в заголовок представления таблицы должным образом. Фактически, ScoreView перекрывается с другими строками таблицы. Таким образом, остальные строки отображаются в ScoreView. Может кто-нибудь помочь?
Подробнее здесь:
https://stackoverflow.com/questions/793 ... ght-header
1736438163
Anonymous
У меня есть следующий код [code] private func addTableHeaderView() { let scoreView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 150)) let scoreLabel = UILabel() scoreLabel.text = "Score: 100" scoreLabel.font = UIFont(name: "WorkSans-Bold", size: 20) scoreLabel.textAlignment = .left let scoreImageView = UIImageView() scoreImageView.image = UIImage(named: "score") // Replace with your image scoreImageView.contentMode = .scaleAspectFit let streakImageView = UIImageView() streakImageView.image = UIImage(named: "scorebar") streakImageView.contentMode = .scaleAspectFit let encouragementLabel = UILabel() encouragementLabel.text = "Keep it up! Learn everyday and don’t let your score reset" encouragementLabel.font = UIFont(name: "WorkSans-Medium", size: 14) encouragementLabel.textAlignment = .center encouragementLabel.numberOfLines = 0 scoreView.backgroundColor = .white scoreView.layer.cornerRadius = 16 scoreView.addSubview(scoreLabel) scoreView.addSubview(scoreImageView) scoreView.addSubview(streakImageView) scoreView.addSubview(encouragementLabel) scoreLabel.translatesAutoresizingMaskIntoConstraints = false scoreView.translatesAutoresizingMaskIntoConstraints = false scoreImageView.translatesAutoresizingMaskIntoConstraints = false encouragementLabel.translatesAutoresizingMaskIntoConstraints = false streakImageView.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ // Button stack constraints scoreLabel.leadingAnchor.constraint(equalTo: scoreView.leadingAnchor, constant: 16), scoreLabel.topAnchor.constraint(equalTo: scoreView.topAnchor), scoreLabel.widthAnchor.constraint(equalToConstant: 200), scoreLabel.heightAnchor.constraint(equalToConstant: 50), scoreImageView.trailingAnchor.constraint(equalTo: scoreView.trailingAnchor, constant: -16), scoreImageView.topAnchor.constraint(equalTo: scoreView.topAnchor, constant: 16), scoreImageView.widthAnchor.constraint(equalToConstant: 36), scoreImageView.heightAnchor.constraint(equalToConstant: 36), streakImageView.centerXAnchor.constraint(equalTo: scoreView.centerXAnchor), streakImageView.topAnchor.constraint(equalTo: scoreImageView.bottomAnchor, constant: 16), streakImageView.widthAnchor.constraint(equalToConstant: 307), streakImageView.heightAnchor.constraint(equalToConstant: 30), encouragementLabel.centerXAnchor.constraint(equalTo: scoreView.centerXAnchor), encouragementLabel.topAnchor.constraint(equalTo: streakImageView.bottomAnchor, constant: 16), encouragementLabel.leadingAnchor.constraint(equalTo: scoreView.leadingAnchor, constant: 16), encouragementLabel.trailingAnchor.constraint(equalTo: scoreView.trailingAnchor, constant: -16), ]) tableView.tableHeaderView = scoreView } [/code] К сожалению, ScoreView не добавляется в заголовок представления таблицы должным образом. Фактически, ScoreView перекрывается с другими строками таблицы. Таким образом, остальные строки отображаются в ScoreView. Может кто-нибудь помочь? Подробнее здесь: [url]https://stackoverflow.com/questions/79343050/table-head-view-not-showing-the-right-header[/url]