`

iOS UINavigationBar自定义背景

    博客分类:
  • ios
阅读更多

转自:http://blog.csdn.net/jinglijun/article/details/7259729

//CustomNavigationBar.h   

#import <UIKit/UIKit.h>

 

@interface UINavigationBar (UINavigationBarCategory)

 

- (void)setBackgroundImage:(UIImage*)image;   

- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index;   

@end  

 

//CustomNavigationBar.m  

#import "CustomNavigationBar.h"

 

 

@implementation UINavigationBar (UINavigationBarCategory)   

UIImageView *backgroundView; 

 

-(void)setBackgroundImage:(UIImage*)image   

{   

    if(image == nil)   

    {   

        [backgroundView removeFromSuperview];   

    }   

    else   

    {   

        backgroundView = [[UIImageView alloc] initWithImage:image];   

        backgroundView.tag = 1;   

        backgroundView.frame = CGRectMake(0.f, 0.f, self.frame.size.width, self.frame.size.height);   

        backgroundView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;   

        [self addSubview:backgroundView];   

        [self sendSubviewToBack:backgroundView];   

        [backgroundView release];   

    }   

}   

 

//for other views   

- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index   

{   

    [super insertSubview:view atIndex:index];   

    [self sendSubviewToBack:backgroundView];   

}   

@end   



//YourViewController.m   

#import "CustomNavigationBar.h"

 

 

 

    //判断设备的版本

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 50000  

    if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]){  

        //ios5 新特性  

        [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"titleBar.png"] forBarMetrics:UIBarMetricsDefault];  

    }  

#endif 

 

分享到:
评论

相关推荐

    ios-自定义NavigationBar.zip

    本项目“ios-自定义NavigationBar.zip”显然旨在提供一种方法来创建和应用自定义的导航栏。 首先,我们要了解`UINavigationController`的`navigationBar`属性,它是`UINavigationBar`类型的,可以通过这个属性访问...

    ios-自定义导航栏.zip

    - **使用Category**:通过给UINavigationBar添加分类,可以扩展其原有功能,如重写`- (void)drawRect:(CGRect)rect`方法来自定义绘制导航栏背景。 - **自定义UIBarButtonItem**:替换默认的返回按钮,或者添加...

    IOS 自定义导航栏 和表格 学习笔记

    例如,可以自定义导航栏的背景色、标题文字样式、左右按钮等。要实现自定义导航栏,你可以: 1. 使用`appearance`代理方法统一设置所有导航栏的样式。 2. 在每个ViewController中重写`navigationBar:didPopItem:`...

    IOS应用源码之ios适用于iOS 5、iOS 6和iOS 7的自定义NavigationBar.zip

    开发者可以通过自定义`UINavigationBar`的外观,如背景颜色、标题样式、按钮图标等,来创建独特的界面风格。 - 在iOS 5、iOS 6和iOS 7中,系统默认的`UINavigationBar`样式有所差异,因此自定义代码需要考虑到这些...

    ios-自定义导航页.zip

    2. **自定义导航栏**: 自定义导航栏主要是为了满足应用的个性化需求,可以更改导航栏的背景、标题、按钮等元素。这通常涉及到`UINavigationBar`类的代理方法,以及使用`UIBarButtonItem`来定制导航栏上的按钮。 3. ...

    自定义系统UINavigationBarController

    在实际开发中,为了方便复用这些自定义效果,建议将相关的配置封装到一个类别或扩展中,例如创建一个UINavigationBar+Customization.swift文件,将所有的自定义代码集中管理。这样可以提高代码的可维护性和可重用性...

    ios-UINavigationBar.zip

    在iOS开发中,`UINavigationBar`是...通过学习和理解`DLNavigationBar`项目,iOS开发者可以了解到如何在自己的应用中实现类似的颜色过渡效果,提升用户体验,同时也能加深对`UINavigationBar`自定义和动画原理的理解。

    IOS源码——ios适用于iOS 5、iOS 6和iOS 7的自定义NavigationBar.zip

    此压缩包"IOS源码——ios适用于iOS 5、iOS 6和iOS 7的自定义NavigationBar.zip"包含了适用于这三个iOS版本的自定义NavigationBar的源代码。下面将详细探讨iOS中自定义NavigationBar的相关知识点。 1. **iOS版本差异...

    ios-自定义导航栏背景颜色.zip

    代码受https://github.com/ltebean/LTNavigationBar/启发,将其Objective-C的代码更改为swift代码,实现了UINavigationBar的扩展,代码调用非常简单,只需要一句话即可实现导航栏的颜色变更,十分适合需要做个性化...

    ios-自定义cell,导航条.zip

    2. 自定义导航条颜色:通过修改`UINavigationBar`的`barTintColor`属性,可以改变导航条的背景颜色。 3. 更改字体和颜色:使用`navigationBar.titleTextAttributes`可以设置标题的字体和颜色。 4. 添加自定义视图...

    ios自定义tabbar和navigationbar

    2. **自定义导航栏背景**: 通过UIAppearance设置UINavigationBar的barTintColor属性,或者创建一个自定义背景图片。 3. **自定义UIBarButtonItem**: 可以通过设置tintColor改变按钮的颜色,或者创建自定义的按钮图像...

    ios适用于iOS 5、iOS 6和iOS 7的自定义NavigationBar源代码设计资料

    2. **自定义背景图片**:为了实现独特的导航栏外观,开发者可能会用自定义的图片来替换默认的背景,这可能涉及到设置`navigationBar.setBackgroundImage(_:for:)`方法。 3. **自定义标题显示**:除了改变文字颜色和...

    IOS源码——ios适用于iOS 5、iOS 6和iOS 7的自定义NavigationBar.7z

    3. 用`UIImage`绘制背景:如果需要自定义背景,可以创建一个`UIImage`对象,然后设置`navigationBar.barTintColor`属性。 4. 动画效果:可以通过修改`navigationBar.translucent`属性和`shadowImage`来实现过渡动画...

    iOS自定义导航栏

    本文将深入探讨如何在iOS中实现自定义导航栏,包括自定义NavigationBar的外观、行为以及添加自定义功能。 首先,我们来了解自定义导航栏的基本步骤: 1. **创建自定义导航栏类**: 创建一个继承自`...

    IOS自定义Tabbar和导航条

    开发者可能会想要自定义导航条的背景色、标题文字样式、左右按钮等元素。这可以通过修改`UINavigationBar`的属性或者创建自定义的`UIBarButtonItem`来实现。 在“IOS自定义Tabbar和导航条”项目中,已经提供了一个...

    ios 自定义标题栏状态栏

    1. **设置背景颜色**:你可以通过`UINavigationBar`的`barTintColor`属性来设置导航栏的背景颜色。例如: ```swift self.navigationController?.navigationBar.barTintColor = UIColor.red ``` 2. **定制标题...

    iOS 导航各种自定义样式

    本篇文章将深入探讨如何实现iOS导航的各种自定义样式,包括隐藏导航栏以及实现其各种变化效果。 一、自定义导航栏颜色 默认情况下,导航栏背景色为白色,文字颜色为黑色。我们可以通过以下代码来改变这些属性: ``...

    ios-灵活自定义导航栏-多个页面显示在同一个页面里面.zip

    总之,这个 "ios-灵活自定义导航栏-多个页面显示在同一个页面里面.zip" 提供了一个实现复杂导航栏布局的实例,对开发者来说,学习并理解这个示例能够提升他们对 iOS 自定义导航栏和页面嵌套的理解,有助于在实际项目...

Global site tag (gtag.js) - Google Analytics