У меня странная проблема с моим табличным представлением. У меня есть список аудиодорожек и звуковой проигрыватель для воспроизведения выбранного трека в определенном ряду. Все работает отлично!Проблема с Swift TableViewCell: изменить цвет фона для выбранной строки
Я хотел изменить цвет фона для выбранной строки в таблице, чтобы, как только пользователь воспроизвел звук и вернулся к списку треков (мой контроллер табличного представления), он может видеть, какие из ранее выбранных строк.
Но когда я запускаю, меняет цвет не только для строки по пути указателя, которую я выбрал, но и для элемента по пути указателя + 10. Если я выберу первую строку, это изменит цвет для строки в индекс: 0, 10, 20, 30 ...
для того, чтобы изменить цвет выбранной ячейки, я сделал следующие файлы:
// MARK: - Navigation
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.performSegueWithIdentifier("audioPlayer", sender: tableView)
var selectedCell:UITableViewCell = tableView.cellForRowAtIndexPath(indexPath) as CustomTableViewCell
selectedCell.contentView.backgroundColor = UIColor.greenColor()
selectedCell.backgroundColor = UIColor.blueColor()
Пожалуйста найти скриншот моего вопроса, я выбрал всего три ряда: 1, 3, 5, но я выбираю 1,3,5,11,13,15,21,23 и т. д.: https://www.dropbox.com/s/bhymu6q05l7tex7/problemaCelleColore.PNG?dl=0
Для получения более подробной информации - если может помочь - вот это мой заказ Просмотр таблицы Класс:
import UIKit
class CustomTableViewCell: UITableViewCell {
@IBOutlet weak var artista: UILabel!
@IBOutlet weak var brano: UILabel!
var ascoltato = false
@IBOutlet weak var labelRiproduciAscoltato: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
func setCell(artista: String, brano: String){
self.artista.text = artista
self.brano.text = brano
}
} // END MY CUSTOM TABLE VIEW CELL
Вот это метод cellForRowAtIndexPath в моем TableViewController:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCellWithIdentifier("tableCell", forIndexPath: indexPath) as CustomTableViewCell
var tracks : Brani //Brani is my custom Object for handle my tracks
cell.setCell(tracks.title!, brano: tracks.author!)
return cell
}
Я бегу на IPad Air с iOS 7.1.
Благодарим вас за любые предложения или рекомендации, связанные с моей проблемой.
Спасибо Далтон за ответ и простите за мой глупый вопрос но:. В моем случае мой источник данных был бы мой CustomTableViewCell тогда? – Fustav