NavigationBar 背景色设置
2016-10-27 16:18
302 查看
一、设置导航条颜色
iOS 7.0及以上版本,使用下面的函数设置背景图片,图片需要提供320*64的1、2、3倍图
- (void)setBackgroundImage:(nullableUIImage
*)backgroundImage forBarPosition:(UIBarPosition)barPosition barMetrics:(UIBarMetrics)barMetricsNS_AVAILABLE_IOS(7_0)UI_APPEARANCE_SELECTOR;
iOS 7.0以下版本,使用下面的函数设置背景图片,图片需要提供320*44的1、2、3倍图
- (void)setBackgroundImage:(nullableUIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetricsNS_AVAILABLE_IOS(5_0)UI_APPEARANCE_SELECTOR;
注意:如需设置导航透明,直接设置一个透明的图片就行。
二、解决导航条底部(tabbar顶部的)的黑色线条
原因:由于包含一个shadowImage的视图导致。
解决方案:
1、直接隐藏
2、设置shadowImage,注意图片高度,因为不会被clip(即图片超出也会显示)
@property(nullable,nonatomic,strong)UIImage
*shadowImage NS_AVAILABLE_IOS(6_0)UI_APPEARANCE_SELECTOR;
3、在导航条上加一个图片视图,并将该视图send到最底层作为背景,不然会遮挡导航条上的按钮和title
Objective C code
?
iOS 7.0及以上版本,使用下面的函数设置背景图片,图片需要提供320*64的1、2、3倍图
- (void)setBackgroundImage:(nullableUIImage
*)backgroundImage forBarPosition:(UIBarPosition)barPosition barMetrics:(UIBarMetrics)barMetricsNS_AVAILABLE_IOS(7_0)UI_APPEARANCE_SELECTOR;
iOS 7.0以下版本,使用下面的函数设置背景图片,图片需要提供320*44的1、2、3倍图
- (void)setBackgroundImage:(nullableUIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetricsNS_AVAILABLE_IOS(5_0)UI_APPEARANCE_SELECTOR;
注意:如需设置导航透明,直接设置一个透明的图片就行。
二、解决导航条底部(tabbar顶部的)的黑色线条
原因:由于包含一个shadowImage的视图导致。
解决方案:
1、直接隐藏
if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]){ NSArray *list=self.navigationController.navigationBar.subviews; for (id obj in list) { if ([obj isKindOfClass:[UIImageView class]]) { UIImageView *imageView=(UIImageView *)obj; NSArray *list2=imageView.subviews; for (id obj2 in list2) { if ([obj2 isKindOfClass:[UIImageView class]]) { UIImageView *imageView2=(UIImageView *)obj2; imageView2.hidden=YES; } } } } }
2、设置shadowImage,注意图片高度,因为不会被clip(即图片超出也会显示)
@property(nullable,nonatomic,strong)UIImage
*shadowImage NS_AVAILABLE_IOS(6_0)UI_APPEARANCE_SELECTOR;
3、在导航条上加一个图片视图,并将该视图send到最底层作为背景,不然会遮挡导航条上的按钮和title
Objective C code
?
相关文章推荐
- ios7设置NavigationBar的背景色
- navigationBar的背景色设置
- navigationBar导航条和navigationItem设置:基本搞定导航条上的文字和按钮以及各种跳转
- Eclipse设置背景色、字体大小
- Firefox 设置td背景色时,如果td设置了position,会覆盖border
- listview当选中某一个item时设置背景色其他的不变
- 利用rgba和filter设置半透明背景色
- C#做窗体应用程序时,对excel涉及的背景色设置,边框设置,数据如何导入等的实现
- Android开发教程:xml文件中设置listview item选中背景色
- 设置HTML全屏时的背景色
- 关于VS2005 WinForm下DataGridView单元格合并,背景色设置
- eclipse 背景色设置:
- WPF ListView控件设置奇偶行背景色交替变换以及ListViewItem鼠标悬停动画
- 设置窗体上控件的背景色,设置控件背景色为透明
- Android开发(37) android设置Activity背景色为透明的3种方
- Eclipse设置背景色
- InteliiJ IDEA设置系列(一):设置字体,背景色
- ios6,ios7,ios7.1下设置UISearchbar的背景色
- 02.设置backBarButtonItem以及导航栏背景色
- 设置导航栏的背景色