IOS横向菜单(TopBar Menu)代码示例 - XNScrollTopBar

【2015-7-8】:XNScrollTopBar


      这是我在项目中用到的一个组件,嫌网上那些现成的TopBar菜单都不能满足我的需求,所以我就自己写了一个,主要是用于一个界面上切换多种类型的的数据显示,细微之处也做了处理,例如当某个按钮被屏幕遮挡了一半,此时,当你点击这个按钮时,按钮会自动在屏幕中显示完整,还可以为某个菜单项制定一个附属菜单(二级菜单)。好了,不废话了。


功能使用:

      (1).第一行菜单可自定义菜单数量、菜单样式(宽、高,选中和非选中时的颜色)
      (2).第二行附加菜单可自定义滑块、菜单样式
      (3).两层菜单均可滑动,可设置动画,控制动画速度,通过currentIndexForMaincurrentIndexForSecondary获取当前的位置
      (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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值