好大一个坑。--谈谈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向下偏移的更多相关文章

  1. self.navigationController.navigationBar.translucent = YES航栏的属性默认 YES是透明效果并且主view不会偏移 NO是导航栏不透明 主view会向下偏移64px

    交友:微信号 dwjluck2013 从iOS7开始,苹果对navigationBar进行了模糊处理,并把self.navigationController.navigationBar.translu ...

  2. iOS开发之Bug--UITextField使用时文字向下偏移问题

    这个问题,在之前项目中偶然遇到过,但是bug不明显,也不知道具体是哪种重现方式重现的,所以一直暂时略过了,但是随着项目的系统的规模变大,代码量越多, 这个问题出现的越来越明显了. 于是就只能靠百度和g ...

  3. ios UITableView顶部向下偏移

    //设置向下偏移20[self.tableView setContentInset:UIEdgeInsetsMake(20,0,0,0)];

  4. 搭建laravel5全面教学,爬坑(windows下)。

    1.首先下载屌比的Composer 2.然后下载composer.phar 3.然后下载最新版Laravel框架 4.将下载下来的laravel压缩包扔到htdocs目录下(扔到别的目录没试过) 5. ...

  5. 转:【iOS开发每日小笔记(十一)】iOS8更新留下的“坑” NSAttributedString设置下划线 NSUnderlineStyleAttributeName 属性必须为NSNumber

    http://www.bubuko.com/infodetail-382485.html 标签:des   class   style   代码   html   使用   问题   文件   数据 ...

  6. 关于ios11 tableView和ScrollView受导航栏影响向下偏移的问题

    看到网上说法ios11中automaticallyAdjustsScrollViewInsets属性被废弃,所以要设置tableView.contentInsetAdjustmentBehavior ...

  7. tpadmin的坑收集 nginx下配置tp5失败

    如下: 1.ADMIN模块如要关联查询,model的函数名一定不要有“_”下划线,否则找不到 /common/model/**.php 如果把函数名file写成“**_file”,调用时,$vo.** ...

  8. [Web 前端] inline-block元素设置overflow:hidden属性导致相邻行内元素向下偏移

    cp from : https://blog.csdn.net/iefreer/article/details/50421025 在表单修改界面中常会使用一个标签.一个内容加一个修改按钮来组成单行界面 ...

  9. Vue2.0史上最全入坑教程(下)—— 实战案例

    书接上文 前言:经过前两节的学习,我们已经可以创建一个vue工程了.下面我们将一起来学习制作一个简单的实战案例. 说明:默认我们已经用vue-cli(vue脚手架或称前端自动化构建工具)创建好项目了 ...

随机推荐

  1. js实现缓冲运动,和匀速运动有点不相同

    缓冲运动和匀速运动有点不同,看图可以知道缓冲运动速度是越来越慢的. <style> *{ padding:0; margin:10px 0; } #div1{ height:100px; ...

  2. 调用jar程序,读取与jar同级的配置文件。

    System.getProperty("user.dir") + "\\Mysettings.properties";//该方法在Alimonitor里取不到绝 ...

  3. asp.net中选择数字时,另外的数字同时发生变化(适用dev控件)

      关键: <ClientSideEvents ValueChanged="AgioChanged" />   <div class="col-sm-4 ...

  4. 新书发布《大数据时代的IT架构设计》

    <大数据时代的IT架构设计>以大数据时代为背景,邀请著名企业中的一线架构师,结合工作中的实际案例展开与架构相关的讨论.<大数据时代的IT架构设计>作者来自互联网.教育.传统行业 ...

  5. 一千行MySQL学习笔记

    以下为本人当年初学MySQL时做的笔记,也从那时起没再更新过,但还是囊括了基本的知识点,有时还翻出来查查.是不是干货,就看亲们了~ 如果哪天笔记有更新了,我还是会更新该文章滴,其实笔记已经放到了Git ...

  6. java三大框架之一hibernate使用入门

    综述:Hibernate的作用就是让实体类与数据库映射,使数据持久化,用于替代JDBC,使我们不致于写那么多sql语句代码. 1. 首先在官网www.hibernate.org下载hibernate包 ...

  7. redis基础使用

    redis分linux,window两个版本分支. redis在window下的使用先下载相关包.下载地址:https://github.com/MSOpenTech/redis/releases 下 ...

  8. delphi检查url是否有效的方法

    function CheckUrl(url: string; TimeOut: integer = 5000): boolean;var hSession, hfile, hRequest: hInt ...

  9. php乱码解决

    代码示例: <?phpheader("Content-type: text/hml; charset=utf-8");echo "holl 欢迎光临小站,现在正在建 ...

  10. linux C学习笔记03--单链表

    单链表一直是程序员的基础,我也来复习下,下面是link.c中的代码,供main.c 调用,代码很简单,单链表的插入,删除,查找和遍历输出, #include <stdio.h> #incl ...