IOS 设置导航栏全局样式
2016-01-20 12:26
597 查看
[plain] view plaincopy
// 1.设置导航栏背景
UINavigationBar *bar = [UINavigationBar appearance];
[bar setBackgroundImage:[UIImage resizeImage:@"NavigationBar_Background.png"] forBarMetrics:UIBarMetricsDefault];
// 状态栏
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackOpaque;
// 2.设置导航栏文字属性
NSMutableDictionary *barAttrs = [NSMutableDictionary dictionary];
[barAttrs setObject:[UIColor darkGrayColor] forKey:UITextAttributeTextColor];
[barAttrs setObject:[NSValue valueWithUIOffset:UIOffsetMake(0, 0)] forKey:UITextAttributeTextShadowOffset];
[bar setTitleTextAttributes:barAttrs];
// 3.按钮
UIBarButtonItem *item = [UIBarButtonItem appearance];
[item setBackgroundImage:[UIImage resizeImage:@"BarButtonItem_Normal.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[item setBackgroundImage:[UIImage resizeImage:@"BarButtonItem_Pressed.png"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
NSMutableDictionary *itemAttrs = [NSMutableDictionary dictionaryWithDictionary:barAttrs];
[itemAttrs setObject:[UIFont boldSystemFontOfSize:13] forKey:UITextAttributeFont];
[item setTitleTextAttributes:itemAttrs forState:UIControlStateNormal];
[item setTitleTextAttributes:itemAttrs forState:UIControlStateHighlighted];
[item setTitleTextAttributes:itemAttrs forState:UIControlStateDisabled];
// 4.返回按钮
[item setBackButtonBackgroundImage:[UIImage resizeImage:@"BarButtonItem_Back_Normal.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[item setBackButtonBackgroundImage:[UIImage resizeImage:@"BarButtonItem_Back_Pressed.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
搞了半天,居然没有发现可以插入Objective-C代码的地方。真郁闷
[plain] view plaincopy
//
// UIImage+Fit.m
// SinaWeibo
//
// Created by mj on 13-8-19.
// Copyright (c) 2013年 itcast. All rights reserved.
//
#import "UIImage+Fit.h"
@implementation UIImage (Fit)
#pragma mark 返回拉伸好的图片
+ (UIImage *)resizeImage:(NSString *)imgName {
return [[UIImage imageNamed:imgName] resizeImage];
}
- (UIImage *)resizeImage
{
CGFloat leftCap = self.size.width * 0.5f;
CGFloat topCap = self.size.height * 0.5f;
return [self stretchableImageWithLeftCapWidth:leftCap topCapHeight:topCap];
}
- (UIImage *)cut:(CGSize)sizeScale
{
CGFloat width = self.size.width * sizeScale.width;
CGFloat height = self.size.height * sizeScale.height;
CGFloat x = (self.size.width - width) * 0.5;
CGFloat y = (self.size.height - height) * 0.5;
CGRect rect = CGRectMake(x, y, width, height);
CGImageRef ref = CGImageCreateWithImageInRect(self.CGImage, rect);
return [UIImage imageWithCGImage:ref];
}
@end
// 1.设置导航栏背景
UINavigationBar *bar = [UINavigationBar appearance];
[bar setBackgroundImage:[UIImage resizeImage:@"NavigationBar_Background.png"] forBarMetrics:UIBarMetricsDefault];
// 状态栏
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackOpaque;
// 2.设置导航栏文字属性
NSMutableDictionary *barAttrs = [NSMutableDictionary dictionary];
[barAttrs setObject:[UIColor darkGrayColor] forKey:UITextAttributeTextColor];
[barAttrs setObject:[NSValue valueWithUIOffset:UIOffsetMake(0, 0)] forKey:UITextAttributeTextShadowOffset];
[bar setTitleTextAttributes:barAttrs];
// 3.按钮
UIBarButtonItem *item = [UIBarButtonItem appearance];
[item setBackgroundImage:[UIImage resizeImage:@"BarButtonItem_Normal.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[item setBackgroundImage:[UIImage resizeImage:@"BarButtonItem_Pressed.png"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
NSMutableDictionary *itemAttrs = [NSMutableDictionary dictionaryWithDictionary:barAttrs];
[itemAttrs setObject:[UIFont boldSystemFontOfSize:13] forKey:UITextAttributeFont];
[item setTitleTextAttributes:itemAttrs forState:UIControlStateNormal];
[item setTitleTextAttributes:itemAttrs forState:UIControlStateHighlighted];
[item setTitleTextAttributes:itemAttrs forState:UIControlStateDisabled];
// 4.返回按钮
[item setBackButtonBackgroundImage:[UIImage resizeImage:@"BarButtonItem_Back_Normal.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[item setBackButtonBackgroundImage:[UIImage resizeImage:@"BarButtonItem_Back_Pressed.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
搞了半天,居然没有发现可以插入Objective-C代码的地方。真郁闷
[plain] view plaincopy
//
// UIImage+Fit.m
// SinaWeibo
//
// Created by mj on 13-8-19.
// Copyright (c) 2013年 itcast. All rights reserved.
//
#import "UIImage+Fit.h"
@implementation UIImage (Fit)
#pragma mark 返回拉伸好的图片
+ (UIImage *)resizeImage:(NSString *)imgName {
return [[UIImage imageNamed:imgName] resizeImage];
}
- (UIImage *)resizeImage
{
CGFloat leftCap = self.size.width * 0.5f;
CGFloat topCap = self.size.height * 0.5f;
return [self stretchableImageWithLeftCapWidth:leftCap topCapHeight:topCap];
}
- (UIImage *)cut:(CGSize)sizeScale
{
CGFloat width = self.size.width * sizeScale.width;
CGFloat height = self.size.height * sizeScale.height;
CGFloat x = (self.size.width - width) * 0.5;
CGFloat y = (self.size.height - height) * 0.5;
CGRect rect = CGRectMake(x, y, width, height);
CGImageRef ref = CGImageCreateWithImageInRect(self.CGImage, rect);
return [UIImage imageWithCGImage:ref];
}
@end
相关文章推荐
- 自定义样式 实现文件控件input[type='file']
- html定义input type=file 样式的方法
- CSS基础:text-overflow:ellipsis溢出文本的显示样式
- :nth-child(css3的伪类选择器)
- css段落首行缩进,文字间距
- 终于搞懂了CSS实现三角形图标的原理
- css3动画简介以及动画库animate.css的使用
- 利用css中的em实现弹性页面布局
- Css中的px em rem区别
- 页面加载顺序及解析流程分享
- css全局样式覆盖默认的样式
- coocsstudio使用经验,导出资源
- lc_switch插件实现苹果IOS风格单复选框样式按钮
- CSS3中的rem值与px之间的换算
- CSS3网格布局基础知识 - 弹性尺寸的定义单位:fr 简介及实例
- CSS(Cascading Style Shee)
- css设置table里面单元格强制换行和强制不换行
- 【HTML打卡】0119css 文字、图片、控制器、引入方式、初始化
- CSS的::selection使用方法
- div+css截取字符串在规定长度,超出部分用。。。代替