iOSSwift – 向下向上滚动时隐藏显示UITabBarController

iOSSwift – 向下向上滚动时隐藏显示UITabBarController,第1张

概述我是iOS开发的新手.现在我正在尝试隐藏我的标签栏,当我向下滚动时,向上滚动标签栏应该出现.我想像导航栏一样动画这个动画.对于导航栏,我只需单击“属性”检查器中的选项.我看到了工具栏的一些示例,但我不能将其用于tabbar. self.tabBarController?.tabBar.hidden = true只是隐藏我的tabbar,但它不像导航控制器那样动画. 这是我实际在生产应用程序中使用的 我是iOS开发的新手.现在我正在尝试隐藏我的标签栏,当我向下滚动时,向上滚动标签栏应该出现.我想像导航栏一样动画这个动画.对于导航栏,我只需单击“属性”检查器中的选项.我看到了工具栏的一些示例,但我不能将其用于tabbar.

self.tabbarController?.tabbar.hIDden = true只是隐藏我的tabbar,但它不像导航控制器那样动画.

解决方法 这是我实际在生产应用程序中使用的代码.

它在Swift中,它也更新了UITabbar.hIDden var.

func scrollVIEwWillBeginDragging(scrollVIEw: UIScrollVIEw) {    if scrollVIEw.panGestureRecognizer.translation(in: scrollVIEw).y < 0{        changeTabbar(hIDden: true,animated: true)    }    else{        changeTabbar(hIDden: false,animated: true)    }}

您还可以使用其他回调方法:

func scrollVIEwDIDScroll(scrollVIEw: UIScrollVIEw) {    ...}

但是如果你选择这样,那么你必须处理多个实际隐藏tabbar的辅助方法的调用.

然后你需要添加这个方法来动画tabbar的隐藏/显示.

func changeTabbar(hIDden:Bool,animated: Bool){    var tabbar = self.tabbarController?.tabbar    if tabbar!.hIDden == hIDden{ return }    let frame = tabbar?.frame    let offset = (hIDden ? (frame?.size.height)! : -(frame?.size.height)!)    let duration:NSTimeInterval = (animated ? 0.5 : 0.0)    tabbar?.hIDden = false    if frame != nil    {        UIVIEw.animateWithDuration(duration,animations: {tabbar!.frame = CGRectOffset(frame!,offset)},completion: {                println(
func changeTabbar(hIDden:Bool,animated: Bool){    guard let tabbar = self.tabbarController?.tabbar else { return; }    if tabbar.isHIDden == hIDden{ return }    let frame = tabbar.frame    let offset = hIDden ? frame.size.height : -frame.size.height    let duration:TimeInterval = (animated ? 0.5 : 0.0)    tabbar.isHIDden = false    UIVIEw.animate(withDuration: duration,animations: {        tabbar.frame = frame.offsetBy(dx: 0,dy: offset)    },completion: { (true) in        tabbar.isHIDden = hIDden    })}
) if {tabbar?.hIDden = hIDden} }) }}

更新Swift 4

总结

以上是内存溢出为你收集整理的iOS / Swift – 向下/向上滚动时隐藏/显示UITabBarController全部内容,希望文章能够帮你解决iOS / Swift – 向下/向上滚动时隐藏/显示UITabBarController所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址:https://www.54852.com/web/1104286.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存