我正在尝试通过更改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位置(第一个变成第二个,第二个变成第一个),则情况发生了变化-不是第一个控制器的表与顶部指南重叠(出现时)
最佳答案
您是否尝试过XLPagerTabStrip?我相信这与您要达到的目标非常相似。
如果没有,您可以将代码基于该实现。
关于ios - IOS标签栏滑动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50414391/