У меня есть ViewController, который содержит UICollectionView, где каждая ячейка является пользовательской ячейкой. Мне нужно выполнить переход, поэтому, когда пользователь перебирает любую ячейку, отображается новый ViewController для отображения деталей нажатой ячейки.
С кодом, который у меня есть сейчас, переход выполняетсяесли я нажму на камеру двумя пальцами, но не одним. Более того, когда DetailsViewController отображается, заголовок не обновляется.
Я не могу опубликовать изображения, но переход, который я создаю в раскадровке, переходит из ячейки в DetailsViewController, имеет тип Show (например, Push) иid is showDetail.
ViewController.swift
override func viewDidLoad() {
super.viewDidLoad()
collectionView.dataSource = self
collectionView.delegate = self
collectionView.register(UINib.init(nibName: "MovieCell", bundle: nil), forCellWithReuseIdentifier: "MovieCell")
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIInputViewController.dismissKeyboard))
view.addGestureRecognizer(tap)
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
performSegue(withIdentifier: "showDetail", sender: indexPath)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if(segue.identifier == "showDetail") {
guard let viewController = segue.destination as? DetailsViewController else {return}
guard let indexPath = sender as? IndexPath else {return}
viewController.movie = self.moviesList[indexPath.row]
}
}
DetailsViewController.swift
class DetailsViewController: UIViewController {
var movie: Movie? = nil {
didSet {
navigationController?.title = movie?.title
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
Есть идеи, что происходит не так?