NavigationBar 背景色设置_navigationbar背景色-程序员宅基地

技术标签: iOS 适配  tabbar  iOS 控件  导航条  iOS controller  navigationbar  

一、设置导航条颜色

    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
?
1
2
3
  UIImageView  *titleView = [[ UIImageView  alloc]initWithImage:[ UIImage  imageNamed:@ "ToPointNavBgFull" ]];
     [ self .navigationController.navigationBar addSubview:titleView];
     [ self .navigationController.navigationBar sendSubviewToBack:titleView];

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zrhloveswallow/article/details/52946485

智能推荐

码分多址CDMA_共有四个站进行cdma-程序员宅基地

文章浏览阅读6.2k次,点赞9次,收藏47次。码分多路复用CDM又称码分多址CDMA,在计算题中出现只需要将码片序列进行正交即可正交结果为1,说明发送了1 正交结果为0,则说明没有发送数据 正交结果为-1,说明发送了0例题:1.共有4个站进行码分多址CDMA通信,4个站的码片序列为:A.(-1 -1 -1 +1 +1 -1 +1 +1)B(-1 -1 +1 -1 +1 +1 +1 -1)C.(-1 +1 -1 +1 +1 +1 -1 -1)D.(-1 +1 -1 -1 -1 -1 +1 -1)先收到码片序列:(-1_共有四个站进行cdma

如何将cocos2dx打包成exe_cocos-2dx打exe包-程序员宅基地

文章浏览阅读1.8k次。1.复制cocos2d-x-2.2文件下的Release.win32文件侠到桌面。2.将项目下的Resources里的资源复制到Release.win32文件里面。3.除exe文件、资源和dll文件外,其它文件全部删除以节省空间。4.打包即可。_cocos-2dx打exe包

CentOS 7 安装MySQL 以及遇到的坑及解决办法_contos安装mysql2023-05-11t05:20:04.108400z 0 [error]-程序员宅基地

文章浏览阅读573次。下载mysqlyum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm安装yum install mysql-community-server -y启动MySQLservice mysqld start查看临时密码grep 'temporary password' /var/log/mysqld.log修改密码alter user user() identified by_contos安装mysql2023-05-11t05:20:04.108400z 0 [error] [my-010183] [server] fa

4.3.4 列表解析_4.3.4列表解析-程序员宅基地

文章浏览阅读99次。列表解析只需一行代码就可生成列表,将for循环语句和创建新元素代码合并并自动附加新元素,十分方便。示例代码:squares = [value for value in range(1,11)] # 将1-10的数字生成列表squaressquares2 = [value ** 2 for value in range(1,11)] # 将1-10的数的平方生成列表squares2打印结..._4.3.4列表解析

LSTM的备胎,用卷积处理时间序列——TCN与因果卷积(理论+Python实践)_tcn公式-程序员宅基地

文章浏览阅读2.5w次,点赞102次,收藏506次。什么是TCNTCN全称Temporal Convolutional Network,时序卷积网络,是在2018年提出的一个卷积模型,但是可以用来处理时间序列。卷积如何处理时间序列时间序列预测,最容易想到的就是那个马尔可夫模型:P(yk∣xk,xk−1,...,x1)P(y_k|x_k,x_{k-1},...,x_1)P(yk​∣xk​,xk−1​,...,x1​)就是计算某一个时刻的输出..._tcn公式

signature=2b8e64961423d402a779acc5fbcbde88,ntm-curd/yarn.lock at master · Yana5417/ntm-curd · GitHub...-程序员宅基地

文章浏览阅读4.6w次。# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.# yarn lockfile v1"@babel/code-frame@^7.0.0":version "7.0.0"resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0...._av494cc

随便推点

gentoo下配置中文输入法(搜狗输入法)_gentoo中文输入法-程序员宅基地

文章浏览阅读6.8k次。其实本来感觉没有必要写这篇文章的,但是几个周前gentoo升级时搜狗输入法滚挂了,解决问题后,我感觉有些之前没有遇到的问题,有必要记下来,以方便以后自己查看。这里汇总一下最近安装fcitx输入法框架遇到的问题,一并把搜狗输入法的安装写进来。配置locale如果使用的是英文系统,系统区域(system locale)一定不能选C或者POSIX,个人建议选择en_US.utf8。对于openRC:使用e_gentoo中文输入法

从D触发器的角度说明建立和保持时间_触发器为什么没有d到q-程序员宅基地

文章浏览阅读425次。
 



从D触发器的角度说明建立和保持时间 上图是用与非门实现的D触发器的逻辑结构图,CP是时钟信号输入端,S和R分别是置位和清零信号,低有效; D是信号输入端,Q信号输出端;这里先说一下D触发器实现的原理:(假设S和R信号均为高,不进行置位和清零操作)CP=0时: G3和G4关闭,Q3和Q4输出为’1’。那么G5和G6打开..._触发器为什么没有d到q

几乎万能的安卓root方法,需adb能获取root权限(小白教小白)_安卓用bat打开usb调试-程序员宅基地

文章浏览阅读7.6w次,点赞13次,收藏137次。此文章部分摘自 bingoCoder2013的博客最近闲着没事,平常也喜欢搞搞机,搞机过程中遇到需要root权限是很麻烦的,各大root软件没有适配就无法root,现在有了一点收获,也是整理网上各大论坛出来的,用adb安装SuperSU。我的环境: 瑞芯微RK3368 / Android 7.1.2 / SuperSU-v2.82-2017052718221.必要前提ad..._安卓用bat打开usb调试

ListView的用法_listview用法-程序员宅基地

文章浏览阅读1.4w次,点赞30次,收藏229次。一、 ListView的使用<ListView>:用于展示大量数据的一种列表视图,通过上下滑动的方式将屏幕外的数据滚动到屏幕内。数据无法直接传递给ListView,需要适配器Adapter:作用是将各种数据以合适的形式展示到View上实例:Food.java:public class Food { private String name; private String describe; private int imageId;//图片id publ_listview用法

bootstrap table中td内容设置不换行_bootstrap-table 列内容不换行-程序员宅基地

文章浏览阅读3.1k次。bootstrap table中td内容设置不换行解决方法:http://yayihouse.com/yayishuwu/chapter/2372_bootstrap-table 列内容不换行

python_django引用模型类,并创建约束,以及数据库迁移于维护_django 数据库维护-程序员宅基地

文章浏览阅读155次。,先创建数据库,首先在setting是中创建databases,DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': 'localhost', 'PORT': '3306', 'NAME': 'django_model', ..._django 数据库维护

推荐文章

热门文章

相关标签