我有一个关于在iOS应用中在屏幕顶部实现自定义滚动标签栏的问题。我正在寻找一个非常类似于vevo app的标签栏(如下图所示)。我已经检查了这个滚动标签栏(https://github.com/vermontlawyer/JFATabBarController),但是想把它移到顶部,当我编辑源代码时似乎很麻烦......我假设我不能使用标准tabbarcontroller为此但必须使自定义标签栏....正确吗?我如何在屏幕顶部创建自定义滚动标签栏?
非常感谢您的任何反馈!
答案 0 :(得分:7)
此项目可能会对您有所帮助:https://github.com/Marxon13/M13InfiniteTabBar但您需要
包含在其中嵌入了UIScrollView的无限UITabBar;)并且可以配置为将标签栏放在屏幕顶部。
希望它有所帮助!
答案 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
创建滑动标签栏的超级简单方法。