Я пытаюсь создать приложение, используя Swift 4.
Цель таблицы - использовать UITableViewCell.SelectionStyle.none
, если данные моей ячейки имеют 0 от API.
А позже я использовал UIRefreshControl()
, чтобы обновить данные, потянув вниз таблицу.
но всякий раз, когда я опускаю таблицу, данные обновляются, но стиль ячейки не меняется.
Я уже пробовал reloadData()
, но это не работает. Функция не перезагружает cellForRowAt
.
Вот моя ячейка ForRowAt
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "custom") as! AppsCustomCell
cell.imglink = data[indexPath.row].imglink
cell.title = data[indexPath.row].AppName
cell.subtitle = data[indexPath.row].AppDesc
cell.count = String(data[indexPath.row].count)
cell.backgroundColor = UIColor.clear
cell.layoutSubviews()
if data[indexPath.row].boolPress == 0 || data[indexPath.row].count < 1 {
// if false {
cell.selectionStyle = UITableViewCell.SelectionStyle.none
cell.contentView.isOpaque = false
cell.mainImageView.alpha = 0.5
cell.titleView.alpha = 0.5
cell.subtitleView.alpha = 0.5
cell.count = "0"
} else {
cell.count = String(data[indexPath.row].count)
cell.countView.backgroundColor = UIColor.red
cell.countView.textColor = UIColor.white
}
return cell
}
Я ожидаю перезагрузить всю таблицу, включая стили ячеек, всякий раз, когда я использую обновление, чтобы вытащить
РЕДАКТИРОВАТЬ : вот как я обновляю свой стол
@IBOutlet weak var tableView: UITableView!
var refreshControl = UIRefreshControl()
override func viewDidLoad() {
refreshControl.addTarget(self, action: #selector(refresh), for: UIControl.Event.valueChanged)
tableView.addSubview(refreshControl) // not required when using UITableViewController
}
@objc func refresh() {
// Insert code here to get data from the API.
self.tableView.reloadData()
self.refreshControl.endRefreshing()
}
РЕДАКТИРОВАТЬ : Вот результат в пользовательском интерфейсе
Это старые данные
И ЗДЕСЬ TableView, если я опускаю стол, используя UIRefreshControl()
Обновленный стол