`
hua397
  • 浏览: 53811 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

改变导航条样式

 
阅读更多

  哥怒了,这blog可视化编辑器插入代码老是显示html元素,搞了半个多小时,无力地抛弃之...

1.背景色:

(http://stackoverflow.com/questions/2259929/iphone-navigationbar-custom-background)网上说用category给UINavigationBar重写drawRect:

@implementation UINavigationBar (CustomImage)

- (void)drawRect:(CGRect)rect {

    UIImage *image = [UIImage imageNamed: @"NavigationBar.png"];

    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];

}

@end

可以用,他自己也说其实不是很好,我觉得不是很灵活


忘了在哪看到了,说是tintColor,经过测试确实如此,setBackgroundColor不行,tintColor就可以:

UINavigationBar *bar = self.navigationController.navigationBar;

bar.tintColor=[UIColor redColor];


而且连left/right button一起改了(前提是item用tittle初始化):

UIBarButtonItem *item=[[UIBarButtonItem alloc] initWithTitle:@"ad1.png" style:UIBarButtonItemStyleBordered target:nil action:nil];

self.navigationItem.rightBarButtonItem=item;

效果:

注意:用Image初始化的item加上去有点问题,会覆盖大部分bar,不解:

UIBarButtonItem *item=[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"ad1.png"] style:UIBarButtonItemStyleBordered target:nil action:nil];

item.width=50;

self.navigationItem.rightBarButtonItem=item;

效果:

 


另,item用customview初始化的话,如用button,需要设置frame,不然不显示:

UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];

btn.frame=CGRectMake(0, 0, 50, 30);

[btn setBackgroundImage:[UIImage imageNamed:@"ad1.png"] forState:UIControlStateNormal];

UIBarButtonItem *item=[[UIBarButtonItem alloc] initWithCustomView:btn];

self.navigationItem.rightBarButtonItem=item;

效果:

 


2.不止改背景颜色的话,就得用imageView,貌似以前看过,反正就是insert到bar的subviews的0,要不add之后exchange一下,bar原先只有一个subview:

UIImageView *imageView=[[UIImageView alloc] initWithFrame:bar.bounds];

imageView.image=[UIImage imageNamed:@"adBg.png"];

[bar insertSubview:imageView atIndex:0];

[imageView release];

效果:

 


注意:只add的话会把tittle覆盖掉,故需exchange:

[bar addSubview:imageView];

[bar exchangeSubviewAtIndex:0 withSubviewAtIndex:1];

  • 大小: 10.3 KB
  • 大小: 21.7 KB
  • 大小: 11.8 KB
  • 大小: 10.4 KB
分享到:
评论

相关推荐

    js监听滚动条改变导航元素位置和样式.rar

    使用原生js获取浏览器可是高度,滚动条高度,监听滚动条,滑动时 触发 改变导航元素位置,和子元素样式,适合新手参考借鉴!

    javascript经典特效---文字滚动导航条.rar

    文字滚动导航条.rar文字滚动导航条.rar

    绿色极简的CSS导航条 菜单代码分享.rar

    绿色极简的CSS导航条 菜单代码分享,支持鼠标动作,鼠标放在菜单上,菜单背景色改变,深绿色与淡绿色相结合的清新菜单风格,纯CSS代码实现,用了一些图片来修饰菜单背景,这款菜单的样式比较经典,可通用于多种类型...

    CSS3实现黑色卷角翻页导航条.zip

    CSS3实现黑色卷角翻页导航条是一款HTML5 CSS3实现的卷边菜单,鼠标放在卷边上可拖动卷边改变大小。

    css_导航条

    css样式实现导航菜单,鼠标移动到菜单项上文字放大并改变颜色

    CSS3+Js实现响应式导航条

    今天制作了一个响应式导航条,能够自动随着不同的屏幕分辨率或浏览器窗口大小的不同而改变导航条的样式,这里主要用到的就是CSS3的Media Query。

    jQuery+CSS3实现四种应用广泛的导航条制作实例详解

    导航条的使用很广,每个网站都会做出具有自己特色的导航条。最近特地去了解了各种类型的导航条,比如具有高亮显示...这种导航条:当你点击某一个导航时,就让他高亮显示,其他的默认原来的样式,也就是说在不改变菜单CS

    JS组件Bootstrap导航条使用方法详解

    导航条是在您的应用或网站中作为导航标头的响应式元组件。 1、默认的导航条 导航条在移动设备上可以折叠(并且可开可关),且在可用的视口...最外面的容器nav标签,并添加nav-bar样式类,表示这里面属于导航条  

    顶部导航条

    选项卡组件,可配合ViewPager使用,用于指示器。这个也是我最初设计的目的,当然也可单独使用。 每个tab标签都可自定义,通过yIndicator.addTab(View view)添加...当标签改变时,可用通过设置监听器来改变标签的样式:

    微信小程序实现点击导航条切换页面

    nav-switch-style为选择导航条时的样式, 不可滑动视图切换很简单,用wx:if判断状态显示相应页就好了, 滑动页视图切换要用到swiper和 swiper-item, 用bindchang方法监听滑块,current 改变时会触发 change ...

    纯CSS实现的紫罗兰风格导航条效果代码

    主要为大家介绍了纯CSS实现的紫罗兰风格导航条效果代码,通过简单的css样式控制实现响应鼠标滑过动态改变背景图的经典导航效果,非常简单实用,需要的朋友可以参考下

    乐喜婚庆公司网站导航菜单.zip

    乐喜婚庆公司网站导航菜单是一款基于jQuery实现的紫色菱形斜角导航条样式效果代码,是一款基于jquery实现的类似动画效果的网站导航菜单特效。伴随有鼠标滑过改变颜色特效。整体效果炫目华丽,是一款非常优秀的特效...

    《改变人们生活的智能技术》阅读答案.docx

    接下来,瑟琳娜小姐居然在四面的电子幕墙上看到了商店里所有款式的白色长裤, 瑟琳娜小姐选中其中一条后,霎时间,电子幕墙上出现了一个和瑟琳娜小姐身形尺寸一模一样的虚拟模特,她穿上了选中的白色长裤,并向...

    一个新闻轮换控件源码

    一个新闻轮换控件源码 这个新闻轮换控件能在网页上的同一个地方显示几条新闻。新闻被拆开几页,为了放置在一个指定的区域。每一页也能包含一对新闻列表。... 6、改变和设置样式 7、实现javascript的效果

    一个新闻/广告轮换控件源码

    一个新闻轮换控件源码 这个新闻轮换控件能在网页上的同一个地方显示几条新闻。新闻被拆开几页,为了放置在一个指定的区域。每一页也能包含一对新闻列表。... 6、改变和设置样式 7、实现javascript的效果

    JavaScript网页特效范例宝典源码

    第1章 窗口/框架与导航条设计 1 1.1 弹出窗口控制 2 实例001 打开新窗口显示广告信息 2 实例002 定时打开窗口 4 实例003 通过按钮创建窗口 5 实例004 自动关闭的广告窗口 6 实例005 控制弹出窗口居中显示 7 实例006 ...

    TLPullRefreshTableView:一个可以自定义刷新样式的 PullRefreshTable

    随着iOS7导航条的半透明化,translucent属性的改变会影响tableView的ContentInset导致很多的下拉刷新第三方包出现问题 这是一个简单的下拉刷新和加载更多TableView 调用简单,数据处理可支持block和delegate(后续支持)...

    WPF编程宝典 part2

    17.5.2 修改滚动条 445 17.5.3 控件模板示例 450 17.6 可视化状态 451 17.7 小结 452 第18章 自定义元素 453 18.1 理解WPF中的自定义元素 454 18.2 构建基本的用户控件 456 18.2.1 定义依赖项属性 456 18.2.2 定义...

Global site tag (gtag.js) - Google Analytics