func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("tup")
// let subPlanViewController = SubPlanViewController(nibName: "SubPlanViewController", bundle: nil)
//
// navigationController?.pushViewController(subPlanViewController, animated: true)
}
Делегата объявил, ячейку зарегестрировал. Нужен переход на другой контроллер при нажатии на любую из ячеек, но по какой-то причине этого не происходит. Если кто-то сталкивался с данной проблемой, прошу помогите. Спасибо заранее.
А принт срабатывает?
tableView.allowsSelection = true tableView.isUserInteractionEnabled = true
Если принт работает, то нет навигейшн контроллера Если принты не работает, делегат не установлен
Нет, метод же не срабатывает😏
data source и delegate указал?
Перепроверь делегат, поставь брейкпоинт, проверь нет ли вью сверху которая перехватывает жесты, проверь не отключал ли взаимодействия на вью на которых находится тейблвью.
Он скорее всего data source не установил, I bet
import UIKit class SubListViewController: UIViewController { private var customTabBarController = CustomTabBarController() var subList: [Subscription] = [ Subscription(subName: .Netflix, subImage: .netflix), Subscription(subName: .Google, subImage: .google), Subscription(subName: .iCloud, subImage: .iCloud), Subscription(subName: .Spotify, subImage: .spotify), Subscription(subName: .Netflix, subImage: .netflix), Subscription(subName: .Google, subImage: .google), Subscription(subName: .iCloud, subImage: .iCloud), Subscription(subName: .Spotify, subImage: .spotify) ] // MARK: Outlets @IBOutlet weak var subListTableView: UITableView! override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = .backgroundColorVC subListTableView.backgroundColor = .backgroundColorVC setupTitle() setupTableView() registerTableViewCell() } // MARK: Methods private func registerTableViewCell() { let subNib = UINib(nibName: "SubListTableViewCell", bundle: Bundle.main) subListTableView.register(subNib, forCellReuseIdentifier: "SubListTableViewCell") } private func setupTitle() { CustomNavigationController.setupTitle(for: self, with: "Select Subscription") } private func setupTableView() { subListTableView.delegate = self subListTableView.dataSource = self subListTableView.separatorStyle = .none } } // MARK: UITableViewDataSource extension SubListViewController: UITableViewDataSource { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { subList.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let index = indexPath.row guard let cell = tableView.dequeueReusableCell(withIdentifier: "SubListTableViewCell", for: indexPath) as? SubListTableViewCell else { return UITableViewCell() } cell.nameOfSubscription.text = subList[index].subName.rawValue cell.imageOfSubscription.image = subList[index].subImage.image cell.backgroundColor = .backgroundColorVC.withAlphaComponent(0.0) return cell } } // MARK: UITableViewDelegate extension SubListViewController: UITableViewDelegate { func numberOfSections(in tableView: UITableView) -> Int { 1 } func tableView(_ tableView: UITableView, shouldHighlightRowAt indexPath: IndexPath) -> Bool { return false } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { print("tup") // let subPlanViewController = SubPlanViewController(nibName: "SubPlanViewController", bundle: nil) // // navigationController?.pushViewController(subPlanViewController, animated: true) } }
Обсуждают сегодня