zoukankan      html  css  js  c++  java
  • 关于自定义的NavigationBar

      系统的NavigationBar局限太大,而且现在我要做的navigationBar需要四个按钮,一个Label,一个ImageView,所以不能用系统默认的。

      刚刚咨询了一个高手,她的建议是,将系统的NavigationBar隐去,但是还是用navigationCntroller去导航,然后用自己写的UIView去充当NavigationBar的角色。原来UI是可以这么做的,现在先试试。等会将做法和思路再整理出来。

    //20141020更新

    上述的方式虽然自由度蛮大,但是效果还是没有系统自带的navigationBar来的流畅。

    所以找到了以下方法去实现所要的功能。

    1、导航栏的中间大按钮

    self.navigationItem.titleView = customView

    这个是加入了自定义的UIView,所以理论上大部分的UIView都是可以加进来的。

    2、title左右加入按钮们

    1     CustomUIView *leftView = [[CustomUIViewalloc] initWithFrame:CGRectMake(0, 0, width, height)]; 
    2 UIBarButtonItem *leftButtons = [[UIBarButtonItem alloc] initWithCustomView:leftView];
    3 self.navigationItem.leftBarButtonItem = leftButtons;

     右边按钮一样的方式,CustomUIView再根据自己的大小来布局自己内部subview的大小和位置

    3、navigationBar的加入背景

    a、平铺背景

    _navigationBarBG.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"menu_bg"]];

    b、插入图片

        [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"menu_bg"] forBarMetrics:UIBarMetricsDefault];
  • 相关阅读:
    NOIP simulation
    NOIP2013
    BZOJ 4176 Lucas的数论
    BZOJ 3512 DZY Loves Math IV
    BZOJ 3994 Sum
    BZOJ 4174 tty的求助
    BZOJ 3561 DZY Loves Math VI
    BZOJ 2508 简单题/BZOJ 3775 点和直线
    FTR #1 百步穿杨
    BZOJ 4407 于神之怒加强版
  • 原文地址:https://www.cnblogs.com/scaptain/p/4015957.html
Copyright © 2011-2022 走看看