У меня проблемы с выбором правильных ячеек в моем табличном представлении.Мой код:
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var MyTableView: UITableView
var cellsArray = [ "0" , "1" , "2" , "3" , "4" , "5" , "6" , "7"]
override func viewDidLoad() {
super.viewDidLoad()
MyTableView.layer.borderWidth = 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 8
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = MyTableView.dequeueReusableCell(withIdentifier: "cells", for: indexPath)
cell.textLabel?.text = cellsArray[indexPath.row]
return cell
}
@IBAction func MyButtonClick(_ sender: Any) {
let myIndexPath = IndexPath(row: 4 ,section: 0)
let cell = MyTableView.cellForRow(at: myIndexPath)
cell?.backgroundColor = UIColor.yellow
}
Это приложение, когда оно работает
Проблема в том, что когда я нажимаю кнопку без прокрутки таблицы, ничего не происходит, но если япрокрутите вниз, чтобы текущий вид включал ячейки, помеченные 4/5/6, и нажмите кнопку, для обеих ячеек, помеченных как «4» и «0», заданы желтые цвета фона.
В конечном итоге я хотел бы знать, почему этоДело в том, что это влияет не только на фон, например, при выполнении цикла for для суммирования высоты ячеек для автоматического изменения высоты просмотра таблицы, невидимые ячейки вызывают сбой программы, так как она возвращает ноль.
Любая помощь будет принята с благодарностью, почему это так!
После нажатия кнопки, когда отображается 4