文档章节

Navigation Bar和TabBar的美化常用方法整理,后面会补充

托楚齐坎基基
 托楚齐坎基基
发布于 2015/08/31 19:26
字数 340
阅读 95
收藏 3

在AppDelegate文件中实现的方法有:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

    [self customNavigationBar];

    [self customTabBar];

    return YES;

}

 //美化TabBar

-(void)customTabBar{

    UIEdgeInsets standardEdgeInsets = UIEdgeInsetsMake(10, 10, 10, 10);

    // 整个tabBar的背景图

    [[UITabBar appearance] setBackgroundImage:[[UIImage imageNamed:@"tabbar_back"] resizableImageWithCapInsets:standardEdgeInsets resizingMode:UIImageResizingModeStretch]];

    //设置tab bar上每一个项被选中时的背景图

    [[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"tabbar_selected_back"]];

    //设置tab bar item上文字的位置 大小  颜色

    [[UITabBarItem appearance] setTitlePositionAdjustment:UIOffsetMake(0, -1)];

    [[UITabBarItem appearance]setTitleTextAttributes:@{

            NSForegroundColorAttributeName:[UIColor lightGrayColor],NSFontAttributeName:[UIFont boldSystemFontOfSize:12]

    } forState:UIControlStateNormal];

    [[UITabBarItem appearance]setTitleTextAttributes:@{

        NSForegroundColorAttributeName:[UIColor whiteColor],NSFontAttributeName:[UIFont boldSystemFontOfSize:12]

    } forState:UIControlStateSelected];

}




    //美化导航栏

-(void)customNavigationBar{

    //设置背景色

    [[UINavigationBar appearance] setBarTintColor:[UIColor blackColor]];

    //设置有导航条时,状态栏的文字颜色

    [[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];

    //设置导航条的背景图

    //[[UINavigationBar appearance] setBackgroundImage:[UIImage       imageNamed:@"NavigationBarDefault"] forBarMetrics:UIBarMetricsDefault];

    //设置左右按钮上的文字颜色

    [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];

    //设置返回按钮中出现的箭头样式

    [[UINavigationBar appearance] setBackIndicatorImage:[UIImage imageNamed:@"back_btn"]];

    [[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"back_btn"]];

    //设置中间的title的文字样式

    //设置阴影 颜色 偏移量

    NSShadow *shadow = [[NSShadow alloc]init];

    shadow.shadowColor = [UIColor redColor];

    shadow.shadowOffset = CGSizeMake(0, 1);

    NSDictionary *dictionary = [NSDictionary   dictionaryWithObjectsAndKeys:shadow,NSShadowAttributeName,[UIColor whiteColor],NSForegroundColorAttributeName,[UIFont fontWithName:@"HelveticaNeue-CondensedBlack" size:21],NSFontAttributeName,nil];

    [[UINavigationBar appearance] setTitleTextAttributes:dictionary];

}


//在控制器中要实现的方法有

- (id)initWithCoder:(NSCoder *)aDecoder{

    self = [super initWithCoder:aDecoder];

    if(self){

        [self.navigationController.tabBarItem setImage:[UIImage imageNamed:@"tabbar_item_my_music"]];


        [self.navigationController.tabBarItem setSelectedImage:[[UIImage imageNamed:@"tabbar_item_my_music_selected"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] ];

}

    return self;

}









© 著作权归作者所有

托楚齐坎基基
粉丝 1
博文 16
码字总数 7868
作品 0
程序员
私信 提问
UITabBar和UINavigation组合使用与自定义样式(iOS)

版权声明:本文为博主原创文章,未经博主允许不得转载。博主微信:lofocus https://blog.csdn.net/cuibo1123/article/details/45645157 UITabBarController和UINavigationController组合使用...

Xoneday
2015/05/11
0
0
createBottomTabNavigator

createBottomTabNavigator 相当于iOS里面的TabBarController,屏幕下方的标签栏。如图: createBottomTabNavigator API (必选):路由配置对象是从路由名称到路由配置的映射,告诉导航器该路由...

不负好时光
03/17
155
0
『React Navigation 3x系列教程』createMaterialTopTabNavigator开发指南

这篇文章将向大家分享createMaterialTopTabNavigator的一些开发指南和实用技巧。 createMaterialTopTabNavigator API (必选):路由配置对象是从路由名称到路由配置的映射,告诉导航器该路由呈...

JiaPengHui
01/07
0
0
createBottomTabNavigator开发指南

期待已久的新教程上线啦!解锁React Native开发新姿势,一网打尽React Native最新与最热技术,点我Get!!! 相当于iOS里面的TabBarController,屏幕下方的标签栏。如图: createBottomTabNavig...

JiaPengHui
2018/12/30
0
0
关于swift 3 同时使用navigation和tabbarItem改不了图标和标题颜色的问题

就是在页面上同时使用navigation 和 tabbar 的时候 tabbaritem 的图片和文字颜色就改不了了。 一开始单独使用 tabbar 的时候 通过代码是可以把 图片的颜色和标题文字的颜色修改 但是用上nav...

ImJovi
2016/11/01
316
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
40分钟前
84
5
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
2
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
6
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部