Is there a way to navigate from a `UIView`, which is part of a `UIViewController`, to another `UIViewController` neither using storyboards nor navigation controllers? 

I have a UITapGestureRecognizer which I want to navigate to another `UIViewController` (`BuyController()`) whenever it is tapped once. Accordingly, my code looks like this:

```
//handle singleTap
func singleTapOnLikesDetected(_ sender: UITapGestureRecognizer) {

    print("check") //works
    let toController = BuyController()
    BarController().pushViewController(toController, animated: true) //error occurs since BarController is no navigationcontroller

}

```

`BarController` (`UITabBarController`, `UITabBarControllerDelegate`) is my rootViewController in the `AppDelegate.swift`. The `UIView` however belongs to another `UIViewController` called `HomeController` (`UIViewController`, `UIScrollViewDelegate`). I do not use storyboards at all and I would like to keep it that way, as I am going to work on a project in a team (thus, a programmatic solution would be very welcome)...