ReadViewSDK/Sources/RDReaderView/LegacyRDReaderController/SSChapterListController.swift
2026-05-21 19:40:51 +08:00

51 lines
1.7 KiB
Swift

//
// SSChapterListController.swift
// RDReaderDemo
//
// Created by yangsq on 2021/8/19.
//
import UIKit
class SSChapterListController: UITableViewController {
var selectedChapter: ((Int) -> Void)?
var chapters: [Chapter]
var currentChapterNum: Int
init(chapters:[Chapter], currentChapterNum: Int) {
self.chapters = chapters
self.currentChapterNum = currentChapterNum
super.init(style: .plain)
tableView.tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: 0))
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func viewDidLoad() {
super.viewDidLoad()
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.chapters.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "UITableViewCell")
cell?.textLabel?.text = self.chapters[indexPath.row].title
cell?.textLabel?.textColor = indexPath.row == currentChapterNum ? UIColor.red : UIColor.black
return cell!
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if let selectedChapter = selectedChapter {
selectedChapter(indexPath.row)
}
}
func selectedChapter(onTrigger: @escaping (Int) -> Void) {
self.selectedChapter = onTrigger
}
}