Я пытаюсь перейти от UICollectionViewCell к новому ViewController.Я создал переход от одного ViewController к другому и создал код ниже для выбора ячейки.
class FilmsViewController: UIViewController, UICollectionViewDelegate,
UICollectionViewDataSource, UICollectionViewDelegateFlowLayout,
UISearchBarDelegate {
var films: [NSDictionary]?
var filteredFilms: [NSDictionary]?
let searchBar = UISearchBar()
//let searchController = UISearchController(searchResultsController: nil)
@IBOutlet var filmsTable: UICollectionView!
@IBOutlet var navLogo: UINavigationItem!
@IBOutlet var search: UIBarButtonItem!
@IBOutlet var back: UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
self.filmsTable.dataSource = self
self.filmsTable.delegate = self
loadFilms()
}
func collectionView(_ _collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return filteredFilms?.count ?? 0
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = filmsTable.dequeueReusableCell(withReuseIdentifier: "filmCell", for: indexPath) as! FilmCell
let film = filteredFilms![indexPath.row]
let title = film["title"] as! String
cell.titleLabel.text = title
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: NSIndexPath) {
let film = filteredFilms![indexPath.row]
performSegue(withIdentifier: "detailsSegue", sender: film)
}
Проблема заключается в том, что при выборе ячейки ничего не происходит.Там нет ошибки просто нет ответа на нажатие в любой из ячеек.Я полагаю, что проблема в том, что ячейка не реагирует на нажатия, но я не уверен, почему.
РЕДАКТИРОВАТЬ: Я также попытался:
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: NSIndexPath) {
performSegue(withIdentifier: "detailsSegue", sender: FilmCell)
}
с FilmCell в качестве UICollectionViewCell
Класс FilmCell:
class FilmCell: UICollectionViewCell {
@IBOutlet var posterImage: UIImageView!
@IBOutlet var titleLabel: UILabel!
override func awakeFromNib() {
}
}