Как перейти от пользовательского представления коллекции к TabbarController в Swift 4? - PullRequest
0 голосов
/ 28 ноября 2018

Я пробовал это, но у меня не получилось:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
   let cell = collectionView.cellForItem(at: indexPath)
   cell?.layer.borderColor = UIColor.gray.cgColor
   cell?.layer.borderWidth = 0.5
        print("swift")
   let storyboard = UIStoryboard(name: "Main", bundle: nil)
   let viewController = storyboard.instantiateViewController(withIdentifier: "Action") as! UIViewController
       self.navigationController?.pushViewController(viewController, animated: true)
}

Ответы [ 3 ]

0 голосов
/ 28 ноября 2018

Вы нажимаете на UIViewController .

Возможно, вы нажимаете на UIViewController внутри UITabbarController.Чтобы перейти к UITabbarController, вам нужно создать экземпляр UITabbarController и нажать на него.

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "TabBar") as! UITabBarController
self.navigationController?.pushViewController(viewController, animated: true)
0 голосов
/ 28 ноября 2018
*//Get reference to your tab bar.*
let tabBar:UITabBarController = self.window?.rootViewController as! UITabBarController

let navInTab:UINavigationController = tabBar.viewControllers?[1] as! UINavigationController

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let destinationViewController = storyboard.instantiateViewControllerWithIdentifier("ControllersName") as? ControllersType
navInTab.pushViewController(destinationViewController!, animated: true)

*//To whichever index you want to navigate.*

tabBar.selectedIndex = 1

**Hope this helps.**
0 голосов
/ 28 ноября 2018

Вы должны перейти к контроллеру панели вкладок, а не к содержащемуся в нем UIViewController.

Простой способ сделать это - установить переход с помощью раскадровки и вызвать executeSegue, когда вы хотите инициировать переход.

Сначала установите раскадровку следующим образом:

Segue to tab bar Затем вы можете позвонить self.performSegue(withIdentifier: "logInSegue", sender: self)

(logInSegue - это имя моего переходано, очевидно, вы должны изменить его на свой идентификатор сегмента, который вы установили в раскадровке)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...