顶部iOS上的自定义滚动标签栏

时间:2014-10-08 15:26:14

标签: ios scrollbar tabbar

我有一个关于在iOS应用中在屏幕顶部实现自定义滚动标签栏的问题。我正在寻找一个非常类似于vevo app的标签栏(如下图所示)。我已经检查了这个滚动标签栏(https://github.com/vermontlawyer/JFATabBarController),但是想把它移到顶部,当我编辑源代码时似乎很麻烦......我假设我不能使用标准tabbarcontroller为此但必须使自定义标签栏....正确吗?我如何在屏幕顶部创建自定义滚动标签栏?

非常感谢您的任何反馈!

vevo tab screen 1 vevo tab screen 2

4 个答案:

答案 0 :(得分:7)

此项目可能会对您有所帮助:https://github.com/Marxon13/M13InfiniteTabBar但您需要

包含在其中嵌入了UIScrollView的无限UITabBar;)并且可以配置为将标签栏放在屏幕顶部。

enter image description here

希望它有所帮助!

答案 1 :(得分:1)

基本上,您可以执行以下操作:

@class CustomTabBar;

@protocol CustomTabBarDatasource <NSObject>
- (int)numberOfElementsInCustomTabBar:(CustomTabBar *)bar;
- (NSString *)titleForTabAtIndex:(int)index inCustomTabBar:(CustomTabBar *)bar;
@end

@protocol CustomTabBarDelegate <NSObject>
- (void)customTabBar:(CustomTabBar *)bar activatedTabAtIndex:(int)index;
@end

@interface CustomTabBar : UIView
@property (weak) id<CustomTabBarDataSource> dataSource;
@property (weak) id<CustomTabBarDelegate> delegate;
@end

@interface YourViewController : UIViewController {
  CustomTabBar *myTabBar;
}
@end

@interface YourViewController (TabBarDataSource) <CustomTabBarDataSource>
@end

@interface YourViewController (TabBarDelegate) <CustomTabBarDelegate>
@end

CustomTabBar的实施将包括UIScrollView和一组UIButton,其标题将从dataSource中检索。触发按钮后,您可以调用delegate的{​​{1}}方法。当委托方法触发时,您的customTabBar:activatedTabAtIndex:会更改其内容。

答案 2 :(得分:0)

您可以查看此库:https://github.com/raihan/ZRScrollableTabBar。哪个简单轻巧,可以帮到你。

答案 3 :(得分:0)

我一直在寻找类似的解决方案,但我最终想出了自己的想法,并希望与之后可能正在关注的人分享。

https://github.com/chrismanahan/Simple-Scrolling-Tab-Bar

这是一种在故事板中使用标准UITabBarController创建滑动标签栏的超级简单方法。