【2015-7-8】:XNScrollTopBar
这是我在项目中用到的一个组件,嫌网上那些现成的TopBar菜单都不能满足我的需求,所以我就自己写了一个,主要是用于一个界面上切换多种类型的的数据显示,细微之处也做了处理,例如当某个按钮被屏幕遮挡了一半,此时,当你点击这个按钮时,按钮会自动在屏幕中显示完整,还可以为某个菜单项制定一个附属菜单(二级菜单)。好了,不废话了。
功能使用:
(1).第一行菜单可自定义菜单数量、菜单样式(宽、高,选中和非选中时的颜色)
(2).第二行附加菜单可自定义滑块、菜单样式
(3).两层菜单均可滑动,可设置动画,控制动画速度,通过currentIndexForMain和currentIndexForSecondary获取当前的位置
(4).扩展性高,可根据自己的需要进行修改
核心方法:
// XNScrollTopbar.h
// XNScrollTopbar
//
// Created by luohan on 15/7/7.
// Copyright (c) 2015年 luohan. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
typedefvoid(^Block)(int mainIndex,int SecondaryIndex);
typedefvoid(^AnimationBlock)(int offset,double duration);
@interface XNScrollTopbar :UIView {
Block block;
AnimationBlock blockAnimations;
}
/* Main Resource */
@property (nonatomic,retain)NSMutableArray *btnMainArray;
@property (nonatomic,retain)NSMutableArray *mainTitleView;
@property (nonatomic,retain)NSMutableArray *mainTitle;
/* Secondary Resource */
@property (nonatomic,assign)int secondaryMenuWithIndex;
@property (nonatomic,retain)NSMutableArray *btnSecondaryArray;
@property (nonatomic,retain)NSMutableArray *secondaryTitleView;
@property (nonatomic,retain)NSMutableArray *secondaryTitle;
@property (nonatomic,assign)BOOL isSecondaryShow;
/* CurrentIndex */
@property (nonatomic,assign)int currentIndexForMain;
@property (nonatomic,assign)int currentIndexForSecondary;
/*
*
* MainSection method
*/
- (void)setMainInitParam:(int)mainCount width:(int)mainWidth height:(int)mainHeight;
//设置主菜单资源
- (void)setMainSource:(NSMutableArray *)title normal:(NSMutableArray *)normal select:(NSMutableArray *)select;
//设置主菜单按钮不同状态下的颜色
- (void)setMainStatusColor:(UIColor *)normal select:(UIColor *)select;
//是否开启动画,并设置动画时间
- (void)setMainAnmations:(BOOL)enable duration:(double)Duration;
//设置主菜单中的Line宽度
- (void)setLineWidth:(int)width height:(int)height color:(UIColor *)color;
//设置油标的颜色
- (void)setMainWalksColor:(UIColor *)color;
/*
*
* SecontarySection method
*/
//是否开启附加菜单
- (void)setSecondaryEnable:(BOOL)enable count:(int)secondaryCount height:(int)secondaryHeight;
//设置附加菜单的资源
- (void)setSecondarySource:(NSMutableArray *)title normal:(NSMutableArray *)normal select:(NSMutableArray *)select;
//设置附加菜单按钮不同状态下的颜色
- (void)setSecondaryStatusColor:(UIColor *)normal select:(UIColor *)select ;
//设置附加菜单油标的颜色
- (void)setSecondaryWalksColor:(UIColor *)color;
/*
*
* Block / AnimationBlock
*/
- (void)setBlock:(Block)theblock;
- (void)setAnimationBlock:(AnimationBlock)theblock;
@end
动态效果图
源码下载地址:http://download.csdn.net/download/luohancc/8882665