ifish/Ifish/UMCommunity/UMCommunitySDK/UMCommunityUI/CustomView/HorizonMenuView/UMComHorizonMenuView.h

160 lines
4.2 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// UMComHorizonMenuView.h
// UMCommunity
//
// Created by umeng on 15/11/10.
// Copyright © 2015年 Umeng. All rights reserved.
//
#import <UIKit/UIKit.h>
typedef enum {
menuDefaultType = 0,
menuImageFullNoTitleType = 1,
menuTitleFullNoImageType = 2,
menuTitleFrontImageType = 3,
menuTitleBottomAndImageTop = 4,
menuTitleTopAndImageBottom = 5,
menuTitleBottomAndNoImage = 6,
menuTitleLeftAndImageRight = 7,
menuTitleRightAndImageLeft = 8,
menuButtonType = 9,//定义button点击效果
}UMComMenuItemViewType;
@class UMComMenuItem, UMComMenuItemView;
@interface UMComHorizonMenuView : UIView
@property (nonatomic, assign) CGSize itemSize;
@property (nonatomic, assign) CGFloat leftMargin;
@property (nonatomic, assign) CGFloat rightMargin;
@property (nonatomic, assign) CGFloat topMargin;
@property (nonatomic, readonly) NSInteger selectedIndex;
@property (nonatomic, readonly) NSInteger lastIndex;
@property (nonatomic, strong) NSArray *menuItems;
@property (nonatomic, assign) CGFloat itemSpace;
@property (nonatomic, strong) UIImage *bgImage;
@property (nonatomic, assign) BOOL isHighLightWhenDidSelected;
@property (nonatomic, assign) UIFont *itemTextFont;
@property (nonatomic, strong) UIView *bottomLine;
@property (nonatomic, assign) CGFloat bottomLineWidth;
@property (nonatomic, strong) UIImageView *scrollIndicatorView;
@property (nonatomic, assign) CGFloat scrollIndicatorWidth;
@property (nonatomic, copy ) void (^selectedAtIndex)(UMComHorizonMenuView *menuView, NSInteger index);
- (void)reloadWithMenuItems:(NSArray *)menuItems
itemSize:(CGSize)itemSize;
- (void)reloadWithMenuItems:(NSArray *)menuItems
leftMargin:(CGFloat)leftMargin
rightMargin:(CGFloat)rightMargin
itemSize:(CGSize)itemSize;
- (void)reloadItems;
/**
* 2.4版本的新方法的布局模型,|leftmargin-item-space....item-rightmargin|
*
*/
- (void)reloadWithNewMenuItems:(NSArray *)menuItems
leftMargin:(CGFloat)leftMargin
rightMargin:(CGFloat)rightMargin
itemSize:(CGSize)itemSize;
/**
* 返回对应索引的控件
* 如果menuButtonType返回UIButton
*/
-(UIView*) viewWithIndex:(NSInteger)index;
@end
typedef enum {
HighLightTextColor = 0,
HighLightImage = 1,
HighLightBgColor = 2,
HighLightText = 3,
}HighLightType;
@interface UMComMenuItem : NSObject
@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *highLightTitle;
@property (nonatomic, copy) UIColor *highTextColor;
@property (nonatomic, copy) UIColor *textCorlor;
@property (nonatomic, copy) NSString *imageName;
@property (nonatomic, copy) NSString *highLightImageName;
@property (nonatomic, strong) UIColor *bgColor;
@property (nonatomic, strong) UIColor *highLightBgColor;
@property (nonatomic, assign) HighLightType highLightType;
@property (nonatomic, assign) UMComMenuItemViewType itemViewType;
@property (nonatomic, assign) BOOL isHighLighted;
+ (UMComMenuItem *)itemWithTitle:(NSString *)title imageName:(NSString *)name;
+ (UMComMenuItem *)itemWithTitle:(NSString *)title imageName:(NSString *)name highLightType:(HighLightType)highLightType itemViewType:(UMComMenuItemViewType)itemViewType;
+ (UMComMenuItem *)itemWithTitle:(NSString *)title imageName:(NSString *)name highLightImageName:(NSString *)highLightImageName;
+ (UMComMenuItem *)itemWithTitle:(NSString *)title imageName:(NSString *)name highLightTitle:(NSString *)highLightTitle highLightImageName:(NSString *)highLightImageName;
@end
@interface UMComMenuItemView : UIView
@property (nonatomic, strong) UILabel *titleLabel;
@property (nonatomic, strong) UIImageView *imageView;
@property (nonatomic, assign) NSInteger index;
@property (nonatomic, strong) UMComMenuItem *menuItem;
@property (nonatomic, strong) UIButton *buton;//为高亮准备的
@property (nonatomic, copy) void (^clickBlock)(UMComMenuItemView *menuItemView,NSInteger index);
- (void)reloadWithTitle:(NSString *)title
image:(UIImage *)image
index:(NSInteger)index;
- (void)reloadWithTitle:(NSString *)title
image:(UIImage *)image;
- (void)highLight;
- (void)nomal;
@end