从Tabbar弹出(如Yelp应用程序)

时间:2017-08-22 20:46:42

标签: ios swift popup uitabbar

我正在尝试复制你在yelp应用程序中看到的同一个tabBar弹出窗口(在屏幕截图底部和之后),无论你在哪个视图中按下中心tabBar项目,弹出窗口都会出现。

巧合的是我有5个tabBar项目(比如Yelp)和我试图有三个弹出窗口,每个都有一个图像和标题(如Yelp)。看到我正在尝试做的已经在一个应用程序中完成,告诉我这是可能的,但我不知道该怎么做。我试图改变视图控制器之间的关系类型或以编程方式执行,但似乎没有任何工作。 我错过了什么或做错了什么?

Tabbar控制器代码:

func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
    if viewController.tabBarItem.tag == 1 {
        return false
    } else {
        return true
    }
}

在按之前

Before Press

After Press

1 个答案:

答案 0 :(得分:3)

一种解决方案可能是采用UITabBarControllerDelegate

这样我们可以使用委托的func tabBarController(UITabBarController, didSelect: UIViewController)方法来改变常规表示行为并显示我们的弹出窗口。我们可以找到相对于标签栏按钮所需的偏移量(以CGPoint表示),然后应用该偏移量并将弹出按钮添加为子视图。 请注意,对于此方法,您需要以编程方式设置弹出按钮的框架。

或者,您也可以制作一堆弹出按钮,并将其alpha设置为零,单击时设置为1。希望这有帮助!谢谢:))