【问题标题】:IOS Tab Bar SlidingIOS标签栏滑动
【发布时间】:2018-05-18 15:12:58
【问题描述】:

我正在尝试通过改变 ViewControllers 的滑动(或者可能是滑动是正确的词?)效果制作标签栏。

我在整个屏幕上创建了两个带有 TableView 的 ViewController,但有一些限制 - 表格的顶部边缘不与顶部布局指南重叠。

我将此 ViewControllers 与 TabBarController 链接,当我使用默认动画时 - 没关系,工作正常。但我想要滑动动画并做类似(swift3)的事情:

func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
    animateSliding(fromController: selectedViewController, toController: viewController)
    return true
}

func animateSliding(fromController: UIViewController?, toController: UIViewController?) {
    let fromView: UIView = fromController!.view;
    let toView: UIView = toController!.view;

    fromView.superview?.addSubview(toView);
    toView.frame.origin.x = UIScreen.main.bounds.size.width;

    UIView.animate(withDuration: 0.3,
                   animations: {
                    toView.frame.origin.x = 0;
                    fromView.frame.origin.x -= UIScreen.main.bounds.size.width;
                   },
                   completion: nil);
}

(这不是完整的动画,只是示例)

现在我有了我想要的动画,但是第二个 ViewController 的表格在出现时与顶部指南重叠(当滑过第一个 viewController 时)。如果我在 TabBar 中更改 ViewControllers 的位置(第一个变成第二个,第二个变成第一个)情况变化 - 不是第一个控制器的表格重叠顶部指南(出现时)

【问题讨论】:

    标签: ios swift uitabbarcontroller


    【解决方案1】:

    你试过XLPagerTabStrip吗?我相信它与您想要实现的目标非常相似。

    如果没有,您可以将代码基于该实现。

    【讨论】:

    • 我有问题 - 无法“导入” xD 但我会再试一次,谢谢。
    • Here 有一些关于如何安装它的信息,但是如果您在安装时遇到问题,我建议您在此处使用标签 ''XLPagerTabStrip'' 发布它们我>
    猜你喜欢
    • 1970-01-01
    • 2020-10-16
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多