在iOS8中使用Swift轻触时如何隐藏显示tabBar

在iOS8中使用Swift轻触时如何隐藏显示tabBar,第1张

在iOS8中使用Swift轻触时如何隐藏/显示tabBar

经过大量的探索并尝试了各种方法来使用Swift优雅地隐藏/显示UITabBar,我得以danh采纳了这个出色的解决方案并将其转换为Swift:

func setTabBarVisible(visible: Bool, animated: Bool) {    //* This cannot be called before viewDidLayoutSubviews(), because the frame is not set before this time    // bail if the current state matches the desired state    if (tabBarIsVisible() == visible) { return }    // get a frame calculation ready    let frame = self.tabBarController?.tabBar.frame    let height = frame?.size.height    let offsetY = (visible ? -height! : height)    // zero duration means no animation    let duration: TimeInterval = (animated ? 0.3 : 0.0)    //  animate the tabBar    if frame != nil {        UIView.animate(withDuration: duration) { self.tabBarController?.tabBar.frame = frame!.offsetBy(dx: 0, dy: offsetY!) return        }    }}func tabBarIsVisible() -> Bool {    return (self.tabBarController?.tabBar.frame.origin.y)! < self.view.frame.maxY}// Call the function from tap gesture recognizer added to your view (or button)@IBAction func tapped(_ sender: Any?) {    setTabBarVisible(visible: !tabBarIsVisible(), animated: true)}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5620077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存