zoukankan      html  css  js  c++  java
  • 自定义导航栏(navigationBar)

    为了美观性,一般设置通用的navigationBar

    创建基础控件

        UIView *naviView;
        UIImageView *naviImageView;
        UILabel *naviLabel;
        UIButton *naviLeftBtn;
    

    设置控件位置(Frame)

        CGRect naviFrame = CGRectMake(0, 0, 320, 64);
        CGRect backBtnFrame = CGRectMake(10, 31, 30, 21);
        CGRect labelFrame = CGRectMake(0, 31, 320, 21);
    

     将Frame应用到控件上

        naviView = [[UIView alloc] initWithFrame:naviFrame];
        naviImageView = [[UIImageView alloc] initWithFrame:naviFrame];
        naviLabel = [[UILabel alloc] initWithFrame:labelFrame];
    

     设置标题样式

        naviLabel.backgroundColor = [UIColor clearColor];
        naviLabel.text = title;
        //    naviLabel.textColor = color;
        [naviLabel setTintColor:color];
        naviLabel.textAlignment = NSTextAlignmentCenter;
    

     将imageView和label添加到主View上

        [naviView addSubview:naviImageView];
        [naviView addSubview:naviLabel];
    

     自定义左侧返回按钮

      naviLeftBtn = [UIButton buttonWithType:UIButtonTypeCustom];
      [naviLeftBtn setTintColor:color];
      [naviLeftBtn setFrame:backBtnFrame];
      [naviLeftBtn setImage:[UIImage imageNamed:@"navi_backBtn_normal.png"] forState:UIControlStateNormal];
      [naviLeftBtn setImage:[UIImage imageNamed:@"navi_backBtn_selected.png"] forState:UIControlStateHighlighted];
      [naviLeftBtn addTarget:self action:@selector(backAction:) forControlEvents:UIControlEventTouchUpInside];
      [naviView addSubview:naviLeftBtn];

    总代码

    #pragma mark 设置导航条及左右按钮
    -(UIView *)navigationBarWithTitle:(NSString *)title titleColor:(UIColor *)color isShowBackBtn:(BOOL)isShow rightBtn:(UIButton *)right {
        //x,y,w,h
        CGRect naviFrame = CGRectMake(0, 0, 320, 64);
        CGRect backBtnFrame = CGRectMake(10, 31, 30, 21);
        CGRect rightBtnFrame = CGRectMake(right.frame.origin.x, 27, right.frame.size.width, right.frame.size.height);
        CGRect labelFrame = CGRectMake(0, 31, 320, 21);
        
    //    if(!iOS7)
    //    {
    //        naviFrame = CGRectMake(0, 0, 320, 44);
    //        labelFrame = CGRectMake(0, 11, 320, 21);
    //        backBtnFrame = CGRectMake(10, 11, 21, 21);
    //        rightBtnFrame = CGRectMake(right.frame.origin.x, 11, right.frame.size.width, right.frame.size.height);
    //    }
        //    naviImageView.image = [UIImage imageNamed:naviImage_6];
        naviView = [[UIView alloc] initWithFrame:naviFrame];
        
        naviImageView = [[UIImageView alloc] initWithFrame:naviFrame];
        naviImageView.backgroundColor = [UIColor blueColor];
        naviLabel = [[UILabel alloc] initWithFrame:labelFrame];
        naviLabel.backgroundColor = [UIColor clearColor];
        naviLabel.text = title;
        //    naviLabel.textColor = color;
        [naviLabel setTintColor:color];
        naviLabel.textAlignment = NSTextAlignmentCenter;
        
        [naviView addSubview:naviImageView];
        [naviView addSubview:naviLabel];
        
        if(isShow)
        {
            naviLeftBtn = [UIButton buttonWithType:UIButtonTypeCustom];
            [naviLeftBtn setTintColor:color];
            [naviLeftBtn setFrame:backBtnFrame];
            [naviLeftBtn setImage:[UIImage imageNamed:@"navi_backBtn_normal.png"] forState:UIControlStateNormal];
            [naviLeftBtn setImage:[UIImage imageNamed:@"navi_backBtn_selected.png"] forState:UIControlStateHighlighted];
            [naviLeftBtn addTarget:self action:@selector(backAction:) forControlEvents:UIControlEventTouchUpInside];
            [naviView addSubview:naviLeftBtn];
        }
        if(right)
        {
            [right setFrame:rightBtnFrame];
            [naviView addSubview:right];
        }
        [self.view addSubview:naviView];
        return naviView;
    }
    
  • 相关阅读:
    Jquery的事件与动画-----下雨的天气好凉爽
    JQuery选择器--------没有它就没有页面效果
    JavaScript对象--------------你又知道那些
    实体类----app-config
    知错就改,善莫大焉!!!
    二分查找模板
    《软件工程》学习资料积累
    《计算机算法设计与分析》的学习资源和好的课程积累
    软件的概念
    递归方程的求解和算法时间复杂度的分析
  • 原文地址:https://www.cnblogs.com/saurik/p/4979388.html
Copyright © 2011-2022 走看看