UINavigationBar-使用总结
2015-08-04 15:51
549 查看
原文网址:
http://blog.sina.com.cn/s/blog_7b9d64af01019zsi.html
多视图应用程序中,我们常常使用到自定义UINavigationBar来完成导航条的设置。
1.获取导航条
UINavigationBar *navBar = self.navigationController.navigationBar;
2.设置导航条样式(使用系统自带样式)
[navBar setBarStyle:UIBarStyleDefault];
分别有如下几种样式:
typedef NS_ENUM(NSInteger,
UIBarStyle) {
UIBarStyleDefault = 0,
UIBarStyleBlack = 1,
UIBarStyleBlackOpaque = 1, //
Deprecated. Use UIBarStyleBlack
UIBarStyleBlackTranslucent = 2, //
Deprecated. Use UIBarStyleBlack and set the translucent property to YES
};
从字面我们就能了解这4种样式的大概意思:
分别为:
UIBarStyleDefault:默认样式
UIBarStyleBlack:黑色
UIBarStyleBlackOpaque:黑色不透明
UIBarStyleBlackTranslucent:黑色透明
注意:我们发现,在后面两个标记为Deprecated,我们知道使用后面两种将不被提倡。
从枚举中,我们也可以看出:UIBarStyleBlack=1和UIBarStyleBlackOpaque=1表示为一样的。
后来,发现增加了一个方法:[navBar setTranslucent:YES];用来指示是否透明。
所以,我们使用UIBarStyleDefault和UIBarStyleBlack来定义UINavigationBar样式,并且用setTranslucent:方法来设置透明与否。
3.自定义导航条颜色
如果,仅仅使用这4种(2种样式*是否透明),难免太逊了,必须能自定义UINavigationBar样式啊。
if ([navBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]){
// UIBarMetricsLandscapePhone
[navBar setBackgroundImage:[UIImage imageNamed:@"图片名称"]forBarMetrics:UIBarMetricsDefault];
}
setBackgroundImage方法的第二个参数,需要解释一下:
UIBarMetricsDefault:用竖着(拿手机)时UINavigationBar的标准的尺寸来显示UINavigationBar
UIBarMetricsLandscapePhone:用横着时UINavigationBar的标准尺寸来显示UINavigationBar
希望对您有所帮助!
http://blog.sina.com.cn/s/blog_7b9d64af01019zsi.html
多视图应用程序中,我们常常使用到自定义UINavigationBar来完成导航条的设置。
1.获取导航条
UINavigationBar *navBar = self.navigationController.navigationBar;
2.设置导航条样式(使用系统自带样式)
[navBar setBarStyle:UIBarStyleDefault];
分别有如下几种样式:
typedef NS_ENUM(NSInteger,
UIBarStyle) {
UIBarStyleDefault = 0,
UIBarStyleBlack = 1,
UIBarStyleBlackOpaque = 1, //
Deprecated. Use UIBarStyleBlack
UIBarStyleBlackTranslucent = 2, //
Deprecated. Use UIBarStyleBlack and set the translucent property to YES
};
从字面我们就能了解这4种样式的大概意思:
分别为:
UIBarStyleDefault:默认样式
UIBarStyleBlack:黑色
UIBarStyleBlackOpaque:黑色不透明
UIBarStyleBlackTranslucent:黑色透明
注意:我们发现,在后面两个标记为Deprecated,我们知道使用后面两种将不被提倡。
从枚举中,我们也可以看出:UIBarStyleBlack=1和UIBarStyleBlackOpaque=1表示为一样的。
后来,发现增加了一个方法:[navBar setTranslucent:YES];用来指示是否透明。
所以,我们使用UIBarStyleDefault和UIBarStyleBlack来定义UINavigationBar样式,并且用setTranslucent:方法来设置透明与否。
3.自定义导航条颜色
如果,仅仅使用这4种(2种样式*是否透明),难免太逊了,必须能自定义UINavigationBar样式啊。
if ([navBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]){
// UIBarMetricsLandscapePhone
[navBar setBackgroundImage:[UIImage imageNamed:@"图片名称"]forBarMetrics:UIBarMetricsDefault];
}
setBackgroundImage方法的第二个参数,需要解释一下:
UIBarMetricsDefault:用竖着(拿手机)时UINavigationBar的标准的尺寸来显示UINavigationBar
UIBarMetricsLandscapePhone:用横着时UINavigationBar的标准尺寸来显示UINavigationBar
希望对您有所帮助!
相关文章推荐
- StringBuffer跟StringBuilder的区别
- UIModalPresentationStyle和UIModalTransitionStyle
- EazyUI Grid和TreeGrid的 CheckBox 模式
- UIlabel文字大小自适应label宽度变大变小
- android多分辨率多屏幕密度下UI适配方案
- iOS编程——简单的UI自动适配解决方案:Masonry
- SQL server字段名中有数据类型为text时,adoquery->fieldbyname->asstring取不到全部值
- UITools
- UI_Stepper
- IOS开发之关于UIButton点击没有响应问题
- uva 10706 Number Sequence(数学)
- [置顶] 项目中requireJS的应用例子
- perf_events Frequently Asked Questions
- iOS学习笔记6- iOS UICollectionView简单使用
- The method build() is undefined for the type Notification.Builder
- (leetcode)Implement Stack using Queues
- iOS开发--UISwitch用法
- UITableView隐藏多余分割线
- 关于UITabelView的右侧Table
- UITableView中的headerView改变颜色