123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- //
- // JXTabButton.m
- // shiku_im
- //
- // Created by flyeagleTang on 14-5-17.
- // Copyright (c) 2014年 Reese. All rights reserved.
- //
- #import "JXTabButton.h"
- #import "JXBadgeView.h"
- #import "FLAnimatedImageView.h"
- #import "FLAnimatedImage.h"
- #define ICON_SIZE 22
- @implementation JXTabButton
- @synthesize iconName,selectedIconName,backgroundImageName,selectedBackgroundImageName,textColor,selectedTextColor,bage,text,isTabMenu;
- - (void)show
- {
- self.backgroundColor = [UIColor clearColor];
-
- _icon = [[FLAnimatedImageView alloc] initWithFrame:CGRectMake((self.frame.size.width-ICON_SIZE)/2, THE_DEVICE_HAVE_HEAD ? 10 : 7, ICON_SIZE, ICON_SIZE)];
- _lbTitle = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(_icon.frame)+(THE_DEVICE_HAVE_HEAD ? 8 : 2), self.frame.size.width, 12)];
- _lbBage = [[JXBadgeView alloc] initWithFrame:CGRectMake(_icon.frame.origin.x+ICON_SIZE-7, THE_DEVICE_HAVE_HEAD ? 8 : 5, 20, 20)];
- if ([iconName containsString:@"http:"]) {
- [_icon sd_setImageWithURL:[NSURL URLWithString:iconName]];
- }else if ([iconName containsString:@".gif"]){
- FLAnimatedImage *image= [FLAnimatedImage animatedImageWithGIFData:[NSData dataWithContentsOfURL:[NSURL URLWithString:iconName]]];
- _icon.animatedImage = image;
- } else {
- [_icon setImage:[UIImage imageNamed:iconName]];
- }
- _icon.userInteractionEnabled = NO;
-
- _lbTitle.text = text;
- _lbTitle.font = g_factory.font11;
- _lbTitle.textAlignment = NSTextAlignmentCenter;
- _lbTitle.userInteractionEnabled = NO;
-
- _lbBage.badgeString = bage;
- _lbBage.userInteractionEnabled = YES;
- _lbBage.didDragout = self.onDragout;
- _lbBage.delegate = self.delegate;
- _lbBage.tag = self.tag;
-
- if(backgroundImageName)
- [self setBackgroundImage:[UIImage imageNamed:backgroundImageName] forState:UIControlStateNormal];
- if(selectedBackgroundImageName)
- [self setBackgroundImage:[UIImage imageNamed:selectedBackgroundImageName] forState:UIControlStateSelected];
-
- [self addSubview:_icon];
- [self addSubview:_lbTitle];
- [self addSubview:_lbBage];
- }
- -(void)dealloc{
- // [_icon release];
- // [_lbTitle release];
- // [_lbBage release];
-
- self.iconName = nil;
- self.selectedIconName = nil;
- self.backgroundImageName = nil;
- self.selectedBackgroundImageName = nil;
- self.text = nil;
- self.textColor = nil;
- self.selectedTextColor = nil;
- self.bage = nil;
-
- // [super dealloc];
- }
- -(void)setSelected:(BOOL)selected{
- if(selected){
- // _icon.image = ThemeImage(selectedIconName);//[UIImage imageNamed:selectedIconName];
- if ([self.selectedIconName containsString:@"http:"]) {
- [_icon sd_setImageWithURL:[NSURL URLWithString:self.selectedIconName]];
- }else if ([self.selectedIconName containsString:@".gif"]){
- [_icon sd_setImageWithURL:[NSURL URLWithString:self.selectedIconName]];
- }else {
- _icon.image = [[UIImage imageNamed:self.selectedIconName] imageWithTintColor:THEMECOLOR]; ;
- }
-
- _lbTitle.textColor = selectedTextColor;
- }else{
- if ([iconName containsString:@"http:"]) {
- [_icon sd_setImageWithURL:[NSURL URLWithString:iconName]];
- }else if ([iconName containsString:@".gif"]){
- FLAnimatedImage *image= [FLAnimatedImage animatedImageWithGIFData:[NSData dataWithContentsOfURL:[NSURL URLWithString:iconName]]];
- _icon.animatedImage = image;
- }else {
- [_icon setImage:[UIImage imageNamed:iconName]];
- }
- _lbTitle.textColor = textColor;
- }
- [super setSelected:selected];
- }
- -(void)setBage:(NSString *)s{
- // if([s intValue]>99)
- // s = @"99+";
- if([s intValue]<=0)
- s = @"";
- _lbBage.badgeString = s;
- // if(![bage isEqualToString:s])
- // [bage release];
- // bage = [s retain];
- bage = s;
- }
- @end
|