Я использую UINavigationController
внутри UITabBarController
в моем проекте. Внутри этого UINavigationController
есть UICollectionView
. В поле UICollectionView
, после нажатия на элемент в коллекции, должно быть выполнено шоу segue, чтобы увидеть какую-то детальную страницу, из которой вы можете перейти либо обратно, либо в другую коллекцию с применением другого фильтра данных.Segue использование неправильной анимации и кнопки возврата не отображается
Будучи новым для развития iOS, я борюсь с тем, чтобы вещи велись так, как я хочу. Несмотря на то, что в segues установлены show
в раскадровке, они оживляют модальную анимацию (начиная со дна, а не справа).
Также кнопка «Назад» не отображается. Я установил для него текст в инспекторе атрибутов (я уже знаю, что они должны быть в представлении, которое «уходит»), а также добавили заголовки ко всем навигационным элементам ... до сих пор нет признаков их появления.
Это prepareForSegue
я использую:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showService" {
if let indexPath = self.collectionView?.indexPathsForSelectedItems() {
let object = serviceData[indexPath.last!.row]
let controller = (segue.destinationViewController as! UINavigationController).topViewController as! ServiceDetailViewController
controller.serviceItem = object
controller.callerItem = self.name
controller.navigationItem.leftItemsSupplementBackButton = true
}
}
}
Я огнь SEGUE в collectionView:didSelectItemAtIndexPath:
моей точки зрения коллекции:
override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
let cell = self.collectionView?.cellForItemAtIndexPath(indexPath)
performSegueWithIdentifier("showService", sender: cell)
}
Это также означает некоторые изменения в вашем коде, конечно, потому что контроллер вида назначения вашего сеанса будет отличаться. – matt
Спасибо за ваш вклад! Означает ли это также, что у меня могут быть все мои взгляды «привязаны» к одному «UINavigationController»? – larscm
Это означает не более того, что я сказал. – matt