`

(转) TabBar/NavBar/Toolbar 自定义背景

    博客分类:
  • ios
 
阅读更多

方法一

 @implementation UINavigationBar (UINavigationBarCategory)
 - (void)drawRect:(CGRect)rect {
         //加入旋转坐标系代码
     // Drawing code       
         UIImage *navBarImage = [UIImage imageNamed:@"navibar.png"];
         CGContextRef context = UIGraphicsGetCurrentContext();
         CGContextTranslateCTM(context, 0.0, self.frame.size.height);
         CGContextScaleCTM(context, 1.0, -1.0);       
        
         CGPoint center=self.center;


         CGImageRef cgImage= CGImageCreateWithImageInRect(navBarImage.CGImage, CGRectMake(0, 0, 1, 44));
         CGContextDrawImage(context, CGRectMake(center.x-160-80, 0, 80, self.frame.size.height), cgImage);
         CGContextDrawImage(context, CGRectMake(center.x-160, 0, 320, self.frame.size.height), navBarImage.CGImage);
         CGContextDrawImage(context, CGRectMake(center.x+160, 0, 80, self.frame.size.height), cgImage);CGImageRelease(cgImage);
 }
@end
 

方法二

 

UINavigationController *navi =。。。。

        UIImage *image = [UIImage imageNamed:@"navibar.jpg"];
        UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
        [navi.navigationBar addSubview:imageView];
        [navi.navigationBar sendSubviewToBack:imageView];
        [imageView release];


 

 

 

ios 5 

 

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 50000
    if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]){
        CLog(@"111");
            [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navi.png"] forBarMetrics:UIBarMetricsDefault];
    }
#endif
 

 

 

 

 

 

方法三,没成功

 

 

+ (UIColor *)colorWithPatternImage:(UIImage *)image; //也就是说其实UIColor可以表示的不仅仅是纯色,也可以是一张图片 


 
UIImage *navBarImage = [UIImage imageNamed:@"LOGO_320×44.png"];
UIColor *backgroundColor = [UIColor colorWithPatternImage: navBarImage];//因为是pattern的缘故,所以最好提供和bar一样大小的图片。
UINavigationBar.backgroundColor = backgroundColor;
分享到:
评论
1 楼 hhb19900618 2012-12-24  
你不是说方法3没成功吗?

相关推荐

    小程序自定义tabbar

    在微信小程序中,开发者有时需要根据自己的应用设计和交互需求,对系统默认的tabbar进行自定义,以提供更个性化的用户体验。标题“小程序自定义tabbar”所指的就是这个过程,即通过编写HTML和JavaScript代码,来创建...

    微信小程序 自定义tabbar (源码)

    微信小程序 自定义tabbar (源码)微信小程序 自定义tabbar (源码)微信小程序 自定义tabbar (源码)微信小程序 自定义tabbar (源码)微信小程序 自定义tabbar (源码)微信小程序 自定义tabbar (源码)微信小程序 自定义...

    uniapp小程序自定义动态tabbar

    自定义TabBar的样式可以通过修改`tabbar.vue`中的CSS来实现,可以调整字体大小、颜色、背景色、边框等。同时,uni-app支持使用scss、less等预处理器,可以更好地组织和复用样式。 7. 性能优化 为了提高用户体验,应...

    swift-一个简单实用的自定义tabBar点击tabbar有动画效果

    除了自定义动画,我们还可以调整TabBar的外观,例如更改字体、间距或添加背景图片。这可以通过修改`UITabBarItem`的属性或者自定义`UITabBar`的布局来实现。例如,调整字体大小和颜色: ```swift for item in ...

    小程序tabBar示例

    "selectedIconPath": "images/tabbar/home_selected.png" }, { "pagePath": "tabbar/logs", "text": "日志", "iconPath": "images/tabbar/logs.png", "selectedIconPath": "images/tabbar/logs_selected.png...

    Flutter自定义TabBar的Indicator.zip

    在本文中,我们将深入探讨如何在Flutter中自定义TabBar的Indicator,以便实现类似秒杀Tab的视觉效果。Flutter是一个由Google开发的开源UI工具包,用于构建高性能、高保真、多平台的移动应用程序。TabBar是Flutter中...

    uniapp自定义tabbar图标样式

    本话题主要关注如何在uniAPP中自定义tabbar的图标样式,这对于提升应用的用户体验和品牌一致性至关重要。 首先,我们需要了解uniAPP的tabbar组件。Tabbar是底部导航栏,通常包含多个页面标签,用户可以通过点击不同...

    ios-超强自定义tabBar (修复iPhone X 适配问题).zip

    ⊙ 支持自定义tabBar动画 ⊙ 支持自定义tabBar样式 ⊙ 支持自定义badgeValue动画 ⊙ 支持自定义badgeValue样式 ⊙ 完美支持横竖屏 ⊙ 支持CocoaPods 更多说明请移步github github地址: ...

    微信小程序带未读数量的tabbar有选中效果

    "selectedIconPath": "images/tabbar/home_selected.png" }, { "pagePath": "pages/messages/messages", "text": "消息", "iconPath": "images/tabbar/message.png", "selectedIconPath": "images/tabbar/...

    ReactNative的自定义图标支持NavBarTabBarToolbarAndroid图像源和完整的样式

    本文将深入探讨如何在React Native中实现自定义图标的支持,特别是针对NavBar、TabBar和ToolbarAndroid组件,并关注图像源和完整的样式配置。 首先,React Native本身并不直接支持图标库,但它可以通过第三方库来...

    swift-这是一个自定义的TabBar样式实现TabBar中间凸起“”按钮

    自定义TabBar可以让开发者根据应用需求创建独特且吸引人的界面。本文将深入探讨如何使用Swift语言来实现一个自定义的TabBar,使其中间按钮呈现出凸起的效果。 首先,我们需要了解`UITabBar`的基本用法。`UITabBar`...

    微信小程序半成品,未完成

    "selectedIconPath": "images/tabBar/home_1.png" }, { "text": "搜索", "pagePath": "pages/search/search", "iconPath": "images/tabBar/search.png", "selectedIconPath": "images/tabBar/search1.png" }...

    swift-LCTabBar自定义tabbar样式中间凸起按钮可以为3个或者5个tab栏

    在Swift开发中,UI设计是至关重要的部分,而TabBar作为iOS应用中常见的导航组件,它的自定义风格能显著提升用户体验。本知识点主要探讨如何使用`LCTabBar`实现一个自定义的TabBar,其特色在于中间按钮可以凸起,并且...

    mpvue自定义小程序tabBar

    在 `CustomTabBar.vue` 中,可以使用 CSS 或者 Less 等预处理器来设计 tabBar 的样式,实现背景颜色、字体大小、边框样式等定制。可以利用 Vue 的 `v-if` 或 `v-bind:class` 来根据当前选中的 tab 应用不同的样式。...

    swift自定义tabbar

    由于系统默认的`@objc func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem)`方法在自定义TabBar中可能不再适用,因此可以在`CustomTabBar`类中添加自定义的触摸事件处理代码,以实现所需的逻辑。...

    iOS UITabBarController(自定义, tarBar中间有自定义按钮)

    在本案例中,我们将深入探讨如何进行`UITabBarController`的基本设置以及如何自定义`UITabBar`,特别是在`tabBar`中间添加自定义按钮。 首先,让我们了解`UITabBarController`的基础知识。`UITabBarController`是`...

    自定义tabBar

    本主题聚焦于如何自定义TabBar,以便更好地适应应用程序的视觉风格和交互需求,同时移除系统的默认TabBar。 一、iOS中的自定义TabBar 在iOS开发中,我们通常使用`UITabBarController`来实现TabBar的功能。为了...

    uni-lb-tabbar

    由于项目中经常需要用到自定义的Tabbar,原生的Tabbar可自定义性有局限性,将在之前编写的组件集成整理,弄出一个通用的组件。 Github:插件市场:H5演示:如果问题最好去github反馈...tabbar/lb-tabbar-item.vue " }}

    ios-自定义弧形tabBar,tabbar点击水波纹动画,及其UIwebView中oc和js相互调用示例.zip

    本项目中的"ios-自定义弧形tabBar,tabbar点击水波纹动画,及其UIwebView中oc和js相互调用示例.zip"提供了一个很好的实例,展示了如何实现这一目标。以下是关于这个项目的详细知识点: 1. **自定义弧形TabBar**: ...

    自定义小程序的tabbar组件,利用templdates实现

    "selectedIconPath": "images/tabbar/home-selected.png", "iconPath": "images/tabbar/home-unselected.png", "selected": true }, { "pagePath": "pages/logs/logs", "text": "日志", "selectedIconPath":...

Global site tag (gtag.js) - Google Analytics