导航栏的坑 (导航透明/导航除线/titleIView)
//以下四个条件缺一不可 /.必须是半透明状态
self.navigationBar.translucent = YES;
//2.导航栏背景图片为空图片 (不可以设置backgroundColor或者barTintColor, 没有效果的)
[self.navigationBar setBackgroundImage:[[UIImage alloc]init] forBarMetrics: UIBarMetricsDefault];
//3.阴影图片为空图片 (不可以设置为nil,没用的)
[self.navigationBar setShadowImage:[[UIImage alloc] init]]; //其实到导航栏才44px, 但是backgroundView有64px
self.navigationBar.layer.masksToBounds = YES;
导航除线
self.navigationController.navigationBar.translucent = NO;
self.navigationController.navigationBar.shadowImage = [UIImage new];
UIImage *img = [UIImage imageWithColor:[UIColor greenColor] size:CGSizeMake(, )];
//必须设置一张图片而不是设置背景颜色
[self.navigationController.navigationBar setBackgroundImage:img forBarMetrics:UIBarMetricsDefault];
3.设置设置titleView时, titleView的宽度和高度无法自由设置
设置搜索案例
如果已经设置了默认返回的图标, 你会发现设置titleview时, 你的titleview左边会空出一块
UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(, , , )];
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:tf];
self.navigationItem.leftBarButtonItem = item;
导航栏的坑 (导航透明/导航除线/titleIView)的更多相关文章
- 通过HTML+CSS+JavaScript实现鼠标移动到页面顶部导航栏出现,如果移出导航栏3秒又隐藏起来,而且不受滚动条影响(二)
通过HTML+CSS+JavaScript实现鼠标移动到页面顶部导航栏出现,如果移出导航栏3秒又隐藏起来,而且不受滚动条影响(二) 效果:默认一直隐藏导航栏,当滚动条滚到超过300px按钮出现,点击回 ...
- Flutter沉浸式状态栏/AppBar导航栏/仿咸鱼底部凸起导航
Flutter中如何实现沉浸式透明Statusbar状态栏效果? 如下图:状态栏是指android手机顶部显示手机状态信息的位置.android 自4.4开始新加入透明状态栏功能,状态栏可以自定义颜色 ...
- iOS 设置导航栏之二(设置导航栏的颜色、文字的颜色、左边按钮的文字及颜色)
#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicati ...
- iOS:导航栏的工具条和导航条
功能:用NAV视图控制器打开新的视图,默认工具条和导航条隐藏,双击显示之 // // main.m // Hello // // Created by lishujun on 14-8-28. // ...
- jquery导航栏html页面跳转导航字体变色
html代码: <div class="collapse"> <ul class="nav"> <li><a href ...
- Android 4.4 上实现透明导航栏和状态栏 Translucent system bar
Translucent system UI styling To get the most impact out of your content, you can now use new window ...
- iOS frame从导航栏下面开始
iOS7.0 之后,页面布局默认延伸到了手机界面的边缘;导航栏背景成透明颜色. 解决fram从导航栏下面开始方法: 第一种: 将导航栏改成不透明即可 if( ([[[UIDevice currentD ...
- App开发流程之状态栏和导航栏
记录状态栏和导航栏的设置和控制,统一在基类视图控制器中完成. 状态栏. 状态栏高度为20,iOS7以后背景完全透明. 样式枚举如下: typedef NS_ENUM(NSInteger, UIStat ...
- 【Swift】iOS导航栏错乱的原因
#iOS开发高级技巧#导航栏错乱,也就是导航栏的显示效果与内容区不匹配,引发原因很多,其中最重要的有两个原因: 1.在viewwillappear,viewwilldisappear两个函数中,设置导 ...
随机推荐
- FIREFOX A tool for easily making HTTP requests (GET/PUT/POST/DELETE)
https://addons.mozilla.org/zh-CN/firefox/addon/httprequester/
- spark geoip
import java.io.File import scala.io.Source import com.sanoma.cda.geoip.MaxMindIpGeo import com.sanom ...
- C# 向IQueryable添加一个Include扩展方法
using System; using System.Data.Objects; using System.Linq; namespace OutOfMemory.Codes { /// <su ...
- Thread 与 Runnable
在Java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的run() ...
- Python之路【第十篇】Python操作Memcache、Redis、RabbitMQ、SQLAlchemy、
Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
- servlet生命周期与工作原理
→ Jsp的本质是Servlet,Servlet是服务器端的小程序,运行在服务器,用于处理及响应客户端的请求. Servlet和JSP的区别: servlet是特殊的Java类,必须继承HttpS ...
- Yii2 yii2-imagine的使用
<?php /** * 图片常用处理 * * 需要 yii/yii2-imagine 的支持 * php composer.phar require --prefer-dist yiisoft/ ...
- C语言Hello world
#include"stdio.h" void main() { printf("Hello world!\n"); }
- linux lsmod命令 及相关信息
lsmod (list modules) 语法:lsmod 功能: lsmod命令:是一个小程序,用来显示文件.proc/modules的信息,也就是显示当前内核模块装载的模块. 补充说明: 执行l ...
- Java Lambda表达式入门
Java Lambda表达式入门 http://blog.csdn.net/renfufei/article/details/24600507 Java 8十个lambda表达式案例 http://w ...