关闭

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

标签: IOS菜单滑动菜单Bar多页Top菜单
378人阅读 评论(0) 收藏 举报
分类:

【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


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:55614次
    • 积分:997
    • 等级:
    • 排名:千里之外
    • 原创:46篇
    • 转载:2篇
    • 译文:0篇
    • 评论:15条
    最新评论