2014-10-08 104 views
5

我有一个关于在屏幕的iOS应用中的顶部实现自定义的滚动标签栏的问题。我正在寻找一个非常类似于vevo应用程序的标签栏(如下图所示)。我已经检查了这个滚动标签栏(https://github.com/vermontlawyer/JFATabBarController),但想要将其移动到顶部,并且它在编辑源代码时似乎会出现毛病...我假设我不能使用标准tabbarcontroller,但是必须使自定义标签栏....正确?我将如何去在屏幕顶部创建自定义滚动选项卡栏?定制滚动标签栏

非常感谢您的任何反馈!

vevo tab screen 1 vevo tab screen 2

+0

你说这个控件是“毛刺”的。你看到什么“毛刺”?我在运输应用中使用了这个控件十个月,并没有收到任何有关“毛刺”的投诉。 – 2014-10-18 16:21:44

回答

7

这个项目可以帮助你:https://github.com/Marxon13/M13InfiniteTabBar但你需要

在于内嵌有一个UIScrollView一个无限UITabBar;),它可以被配置为把中的TabBar屏幕上方。

enter image description here

希望它能帮助!

+1

感谢您的反馈,这个例子看起来不错! – user3708224 2014-10-08 16:11:42

+1

非常感谢您的反馈,看起来不错! – user3708224 2014-10-08 16:14:52

+0

附加链接是不工作了:( – 2016-03-28 13:13:45

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 S,其标题,你会找回从dataSource。当一个按钮被触发时,你可以调用delegatecustomTabBar:activatedTabAtIndex:方法。代理方法触发时,您的YourViewController将更改其内容。