Trying to add buttons to UIPageViewController, but buttons won't show up even though they're in the view hierarchy
<p>Here's my code so far:</p>

<pre><code>class WarmPushPageViewController: UIPageViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.dataSource = self
        // Do any additional setup after loading the view.
        let feedViewController = storyboard!.instantiateViewController(withIdentifier: "FeedViewController")
        setViewControllers([feedViewController], direction: .forward, animated: false, completion: nil)

        let hashtagsButton = UIButton(frame: CGRect(x: 8, y: self.view.frame.height - 30, width: 70, height: 20))
        hashtagsButton.setTitle("Hashtags", for: .normal)
        hashtagsButton.tintColor = UIColor.blue
        self.view.addSubview(hashtagsButton)
        self.view.bringSubview(toFront: hashtagsButton)

        let feedButton = UIButton(frame: CGRect(x: self.view.frame.width/2, y: self.view.frame.height - 30, width: 50, height: 20))
        feedButton.setTitle("Feed", for: .normal)
        feedButton.tintColor = UIColor.blue
        self.view.addSubview(feedButton)
        self.view.bringSubview(toFront: feedButton)

        let userButton = UIButton(frame: CGRect(x: self.view.frame.width-65, y: self.view.frame.height - 30, width: 50, height: 20))
        userButton.setTitle("User", for: .normal)
        userButton.tintColor = UIColor.blue
        self.view.addSubview(userButton)
        self.view.bringSubview(toFront: userButton)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    /*
    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        // Get the new view controller using segue.destinationViewController.
        // Pass the selected object to the new view controller.
    }
    */

}

extension WarmPushPageViewController: UIPageViewControllerDataSource {
    func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -&gt; UIViewController? {
        if let _ = viewController as? UserViewController {
            let feedViewController = storyboard!.instantiateViewController(withIdentifier: "FeedViewController")
            return feedViewController
        } else if let _ = viewController as? FeedViewController {
            let hashtagsViewController = storyboard!.instantiateViewController(withIdentifier: "HashtagsViewController")
            return hashtagsViewController
        }
        return nil
    }

    func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -&gt; UIViewController? {
        if let _ = viewController as? HashtagsViewController {
            let feedViewController = storyboard!.instantiateViewController(withIdentifier: "FeedViewController")
            return feedViewController
        } else if let _ = viewController as? FeedViewController {
            let userViewController = storyboard!.instantiateViewController(withIdentifier: "UserViewController")
            return userViewController
        }
        return nil
    }
}
</code></pre>

<p>For some reason, once I get to the margins of the end pages, the labels show up in the margins:</p>

<p><a href="https://i.stack.imgur.com/uTq5a.png" rel="nofollow noreferrer">Hashtag Label</a></p>

<p>The labels are also present in my view hierarchy, but my hypothesis is that the problem may lay somewhere here:</p>

<p><a href="https://i.stack.imgur.com/22TcX.png" rel="nofollow noreferrer">View Hierarchy</a></p>

<p>The end goal is to create my own custom buttons with Sketch assets, where touch up inside on a particular button will segue to the respective page. </p>