作死遇到的坑--view向下偏移
好大一个坑。--谈谈view偏移问题:
先上张图,

图中白色部分。上面的是从网上找的资源。将导航栏隐藏之后用collectionView加上去而实现的滑动标签功能。开始以为是代码中的问题。然后仔细推敲了一遍别人代码中的相关模块。发现过了一天并没有找到解决的地方。我一直以为是哪儿设置的属性。例如frame什么的。今天早上来了之后。有钻研了下。发现了几个没有看到过的属性。可疑。的确可疑。
然后改了之后发现问题解决了。

先提出这两个属性吧。
sele.edgesForExtendedLayout 属性
self.automaticallyAdjustsScrollViewInsets 属性
在IOS7以后viewController开始使用全屏布局的,而且是默认的行为通常涉及到布局就离不开这个属性edgesForExtendedlayout, 它是一个类型为UIExtendedEdge的属性,指定边缘要延伸的方向。它的默认值很自然地是UIRectEdgeAll,四周边缘均延伸,也就是说,如果即使视图中有navigationBar,下有tabBar,那么视图仍会延伸覆盖到四周的区域。因为一般为了不让tableview不延伸到navigationBar下面,属性设置为UIRectEdgeNone。
那么此时发现导航栏变灰了,这样设置: self.navigationController,navigationbar.translucent = No;
*NavigationBar的translucent属性:看下官方API文档。

翻译过来大致是 :translucent默认属性是yes,如果navigationBar有自定义的背景图,那么当属性置为Yes,且放了一张不透明的图,那么效果是自动会把这个图弄成半透明;
如果设置为No,放了一半透明的图:
如果barstyle是UIBarStyleBlack,效果是半透明的图自动加上黑色背景。
如果是UIBarStyleDefault,效果是半透明的图自动加上白色背景。
如果设置了barTintColor,效果是半透明的图自动加上barTintColor的背景。
IOS7 viewController新增属性automaticallyAdjustsScrollViewInsets,即是否根据按所在界面的navigationBar与tabbar的高度,自动调整scrollview的inset。
即UITableView顶部有一个空白区域。
作死遇到的坑--view向下偏移的更多相关文章
- self.navigationController.navigationBar.translucent = YES航栏的属性默认 YES是透明效果并且主view不会偏移 NO是导航栏不透明 主view会向下偏移64px
交友:微信号 dwjluck2013 从iOS7开始,苹果对navigationBar进行了模糊处理,并把self.navigationController.navigationBar.translu ...
- iOS开发之Bug--UITextField使用时文字向下偏移问题
这个问题,在之前项目中偶然遇到过,但是bug不明显,也不知道具体是哪种重现方式重现的,所以一直暂时略过了,但是随着项目的系统的规模变大,代码量越多, 这个问题出现的越来越明显了. 于是就只能靠百度和g ...
- ios UITableView顶部向下偏移
//设置向下偏移20[self.tableView setContentInset:UIEdgeInsetsMake(20,0,0,0)];
- 搭建laravel5全面教学,爬坑(windows下)。
1.首先下载屌比的Composer 2.然后下载composer.phar 3.然后下载最新版Laravel框架 4.将下载下来的laravel压缩包扔到htdocs目录下(扔到别的目录没试过) 5. ...
- 转:【iOS开发每日小笔记(十一)】iOS8更新留下的“坑” NSAttributedString设置下划线 NSUnderlineStyleAttributeName 属性必须为NSNumber
http://www.bubuko.com/infodetail-382485.html 标签:des class style 代码 html 使用 问题 文件 数据 ...
- 关于ios11 tableView和ScrollView受导航栏影响向下偏移的问题
看到网上说法ios11中automaticallyAdjustsScrollViewInsets属性被废弃,所以要设置tableView.contentInsetAdjustmentBehavior ...
- tpadmin的坑收集 nginx下配置tp5失败
如下: 1.ADMIN模块如要关联查询,model的函数名一定不要有“_”下划线,否则找不到 /common/model/**.php 如果把函数名file写成“**_file”,调用时,$vo.** ...
- [Web 前端] inline-block元素设置overflow:hidden属性导致相邻行内元素向下偏移
cp from : https://blog.csdn.net/iefreer/article/details/50421025 在表单修改界面中常会使用一个标签.一个内容加一个修改按钮来组成单行界面 ...
- Vue2.0史上最全入坑教程(下)—— 实战案例
书接上文 前言:经过前两节的学习,我们已经可以创建一个vue工程了.下面我们将一起来学习制作一个简单的实战案例. 说明:默认我们已经用vue-cli(vue脚手架或称前端自动化构建工具)创建好项目了 ...
随机推荐
- NOIP模拟赛-时间与空间之旅
题目描述 公元22××年,宇宙中最普遍的交通工具是spaceship.spaceship的出现使得星系之间的联系变得更为紧密,所以spaceship船长也成了最热门的职业之一.当然,要成为一名出色的船 ...
- EntityFramework基础
好久没有学习新东西了,最近研究了下EntityFramework,将基础代码贴出来, Entity Framework 利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象 (entity ...
- DescriptionResourcePathLocationType Dynamic Web Module 3.0 requires Java
先保证ide的所有jdk都在1.6及以上,如果还是错就试试下面的 在<build></build>中添加 <plugins> <plugin> < ...
- Scala伴生类和伴生对象
单例对象与类同名时,这个单例对象被称为这个类的伴生对象,而这个类被称为这个单例对象的伴生类.伴生类和伴生对象要在同一个源文件中定义,伴生对象和伴生类可以互相访问其私有成员.不与伴生类同名的单例对象称为 ...
- [Tomcat 源码分析系列] (附件) : catalina.bat 脚本
摘自 apache-tomcat-8.0.39-src 源码包中的 catalina.bat 脚本内容 @echo off rem Licensed to the Apache Software Fo ...
- kindeditor编辑器的使用
KindEditor是一款用Javascript编写的开源在线HTML编辑器,主要用户是让用户在网站上获得可见即可得的编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(texta ...
- 关于web测试
关于web测试1页面部分(1) 页面清单是否完整(是否已经将所需要的页面全部都列出来了)(2) 页面是否显示(在不同分辨率下页面是否存在,在不同浏览器版本中页面是是否显示)(3) 页面在窗口中的显示是 ...
- JS出现illegal character非法字符提示
引用js文件,js文件内的汉字在页面显示乱码 解决方式: a. 保持js文件编码与jsp页面编码格式一致: b. 在引入js文件时,在script中添加charset=""属性,指 ...
- Selenium2+python自动化1-环境搭建
前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要.本系列依然以selenium2为基础,目前selenium3坑比较多,暂 ...
- ZT 第一范式,第二范式,第三范式
第一范式,第二范式,第三范式 Posted on 2012-05-09 16:30 GISerYang 阅读(6472) 评论(0) 编辑 收藏 第一范式 存在非主属性对码的部分依赖关系 R(A,B, ...