自定义tablebar

来源:互联网 发布:暮色谷的新域名问题 编辑:程序博客网 时间:2024/06/03 21:01



//  TablebarView.h


#import <UIKit/UIKit.h>

#pragma mark - 延展

@protocol TablebarViewDelegate <NSObject>


- (void)tablebarViewDelegate:(NSInteger )tag;


@end


@interface TablebarView : UIView


@property (nonatomic,strong) id<TablebarViewDelegate>delegate;

@property (nonatomic,strong) UIButton *button1;

@property (nonatomic,strong) UIButton *button2;

@property (nonatomic,strong) UIButton *button3;

@property (nonatomic,strong) UIButton *button4;

@property (nonatomic,strong) UIButton *button5;


@end




//  TablebarView.m

#import "TablebarView.h"

#define W [UIScreen mainScreen].bounds.size.width


@implementation TablebarView


- (instancetype)initWithFrame:(CGRect)frame {

    self = [super initWithFrame:frame];

    if (self) {

        

        self.backgroundColor = [UIColor colorWithRed:233/255.f green:156/255.f blue:175/255.f alpha:1];

        

        self.button1 = [UIButton buttonWithType:UIButtonTypeCustom];

        self.button1.frame = CGRectMake(10,0, W / 5 - 5 , 44);

        [self.button1 setImage:[UIImage imageNamed:@"home"] forState:UIControlStateNormal];

        self.button1.tag = 1;

        [self.button1 addTarget:self action:@selector(tableBarDelegate:) forControlEvents:UIControlEventTouchUpInside];

        [self addSubview:self.button1];

        

        self.button2 = [UIButton buttonWithType:UIButtonTypeCustom];

        self.button2.frame = CGRectMake(W / 5 + 5  , 0, W /5 - 5, 44);

        [self.button2 setImage:[UIImage imageNamed:@"搜索"] forState:UIControlStateNormal];

        self.button2.tag = 2;

        [self.button2 addTarget:self action:@selector(tableBarDelegate:) forControlEvents:UIControlEventTouchUpInside];

        [self addSubview:self.button2];

        

        self.button3 = [UIButton buttonWithType:UIButtonTypeCustom];

        self.button3.frame = CGRectMake(W / 2 - W / 5 / 2 , 0, W / 5 , 44);

        [self.button3 setImage:[UIImage imageNamed:@"相机"] forState:UIControlStateNormal];

        self.button3.tag = 3;

        [self.button3 addTarget:self action:@selector(tableBarDelegate:) forControlEvents:UIControlEventTouchUpInside];

        [self addSubview:self.button3];

        

        self.button4 = [UIButton buttonWithType:UIButtonTypeCustom];

        self.button4.frame = CGRectMake(W / 2 - W / 5 / 2 + W / 5, 0, W / 5 - 5, 44);

        [self.button4 setImage:[UIImage imageNamed:@""] forState:UIControlStateNormal];

        self.button4.tag = 4;

        [self.button4 addTarget:self action:@selector(tableBarDelegate:) forControlEvents:UIControlEventTouchUpInside];

        [self addSubview:self.button4];

        

        self.button5 = [UIButton buttonWithType:UIButtonTypeCustom];

        self.button5.frame = CGRectMake(W - W /5 - 10, 0, W / 5 - 5, 44);

        [self.button5 setImage:[UIImage imageNamed:@""] forState:UIControlStateNormal];

        self.button5.tag = 5;

        [self.button5 addTarget:self action:@selector(tableBarDelegate:) forControlEvents:UIControlEventTouchUpInside];

        [self addSubview:self.button5];

        

    }

    return self;

}


- (void)tableBarDelegate:(UIButton *)buttonTag {

    [self.delegate tablebarViewDelegate:buttonTag.tag];

}


@end




//  ViewController.m

#import"ViewController.h"
#import"TablebarView.h"

@interfaceViewController ()<TablebarViewDelegate>

@property(nonatomic,strong)UIView *buttonView;
@end

@implementationViewController
- (void)bar {
   
TablebarView *tableBar = [[TablebarViewalloc]init];
    tableBar.
frame= CGRectMake(0,HEIGHT - 44,self.view.frame.size.width,44);
    tableBar.
button1.backgroundColor= [UIColorcolorWithRed:244/255.fgreen:209/255.fblue:228/255.falpha:0.7];
    tableBar.
button2.backgroundColor= [UIColorclearColor];
    tableBar.
button3.backgroundColor= [UIColorcolorWithRed:218/255.fgreen:59/255.fblue:99/255.falpha:1];
    tableBar.
button4.backgroundColor= [UIColorclearColor];
    tableBar.
button5.backgroundColor= [UIColorclearColor];
    tableBar.
delegate= self;
   
    [
self.viewaddSubview:tableBar];
}
- (void)viewDidLoad {
    [superviewDidLoad];
    [selfbar];
}

- (
void)tablebarViewDelegate:(NSInteger)tag {
   
if (tag ==2) {
       
SearchViewController *sousuo = [[SearchViewControlleralloc]init];
       
        [
self.navigationControllerpushViewController:sousuoanimated:YES];
    }
   
if (tag ==3) {
       
PhoneViewController *phone = [[PhoneViewControlleralloc]init];
        [
self.navigationControllerpushViewController:phoneanimated:YES];
    }
   
if (tag ==4) {
       
LikeViewController *like = [[LikeViewControlleralloc]init];
        [
self.navigationControllerpushViewController:likeanimated:YES];
    }
   
if (tag ==5) {
       
MyViewController *my = [[MyViewControlleralloc]init];
        [
self.navigationControllerpushViewController:myanimated:YES];
    }
}




#import "SearchViewController.h"

#import "TablebarView.h"


#import "MyViewController.h"

#import "LikeViewController.h"

#import "PhoneViewController.h"

#import "ViewController.h"


@interface SearchViewController ()<TablebarViewDelegate>


@end


@implementation SearchViewController


- (void)setNavigationBar {

    self.navigationItem.title =@"POCKET IDOL";

    [self.navigationController.navigationBarsetBarTintColor:[UIColorcolorWithRed:244/255.0fgreen:162/255.0fblue:184/255.0falpha:1]];

    /* 标题颜色的更改 */

    NSDictionary *dictionary = [NSDictionarydictionaryWithObjectsAndKeys:[UIFontfontWithName:@"A_LANCETRGH"size:0.0],NSFontAttributeName, [UIColorwhiteColor], NSForegroundColorAttributeName,nil];

    

    self.navigationController.navigationBar.titleTextAttributes = dictionary;

}


- (void)viewWillAppear:(BOOL)animated {

    //隐藏导航栏

    self.navigationController.navigationBarHidden =NO;

    //    self.navigationController.tabBarItem = NO;

}


- (void)bar {

    TablebarView *tableBar = [[TablebarViewalloc] init];

    tableBar.frame = CGRectMake(0, HEIGHT - 44, self.view.frame.size.width,44);

    tableBar.button1.backgroundColor = [UIColorclearColor];

    tableBar.button2.backgroundColor = [UIColorcolorWithRed:244/255.fgreen:209/255.fblue:228/255.falpha:0.7];

    tableBar.button3.backgroundColor = [UIColorcolorWithRed:218/255.fgreen:59/255.fblue:99/255.falpha:1];

    tableBar.button4.backgroundColor = [UIColorclearColor];

    tableBar.button5.backgroundColor = [UIColorclearColor];

    tableBar.delegate = self;

    

    [self.viewaddSubview:tableBar];

}



- (void)viewDidLoad {

    [superviewDidLoad];

    // Do any additional setup after loading the view.

  self.view.backgroundColor = [UIColorwhiteColor];

    [selfsetNavigationBar];

    [self bar];

}



- (void)tablebarViewDelegate:(NSInteger)tag {

    if (tag == 3) {

        PhoneViewController *phone = [[PhoneViewControlleralloc] init];

        [self.navigationControllerpushViewController:phone animated:YES];

    }

    if (tag == 4) {

        LikeViewController *like = [[LikeViewControlleralloc] init];

        [self.navigationControllerpushViewController:like animated:YES];

    }

    if (tag == 5) {

        MyViewController *my = [[MyViewControlleralloc] init];

        [self.navigationControllerpushViewController:my animated:YES];

    }

    if (tag == 1) {

        [self.navigationControllerpopToRootViewControllerAnimated:YES];//返回第一页

    }

    if (tag == 2) {

        SearchViewController *sear = [[SearchViewControlleralloc] init];

        [self.navigationControllerpushViewController:sear animated:YES];

    }

}





0 0