ios7之前的版本中UIViewController中的view在显示后会自动调整为去掉导航栏的高度的,控件会自动在导航栏以下摆放。

在iOS7中UIViewController的wantsFullScreenLayout属性被舍弃了,所有的UIViewController创建后默认就是full Screen的,因此如果带导航栏的应用界面中的部分控件会被导航栏覆盖掉。

解决方案:可以使用ios7中UIViewController新增的属性extendLayoutIncludesOpaqueBars和edgesForExtendedLayout来解决。

其中这个属性指定了当bar使用不透明图片时,试图是否延伸至bar所在区域,默认值为NO。而edgesForExtendedLayout

其中这个属性指定了当Bar使用了不透明图片时,视图是否延伸至Bar所在区域,默认值时NO。而edgesForExtendedLayout则是表示视图是否覆盖到四周的区域,默认是UIRectEdgeAll,即上下左右四个方向都会覆盖,那么为让顶部不进行延伸到导航栏覆盖的区域,我们可以把顶部区域延伸去掉。

上面是抄来的(看不懂没关系), 下面才是重点:

UIViewController的View和导航栏的显示是这样的, 默认的, 如果导航栏设置为有透明度的(默认就是半透明的), UIViewController的View就会被导航栏覆盖

如果不想被覆盖, 可以使用以下代码解决(控制器中调用):

self.edgesForExtendedLayout = UIRectEdgeNone;

反之, 如果导航栏是不透明的, 默认UIViewController的View就会往下移, 在导航栏下显示, 如果不想往下移, 可以实现如下代码(控制器中调用):

self.extendedLayoutIncludesOpaqueBars = YES;

ps: 仅对UIViewController而言, UITableViewController这里不是测试对象

UIViewController的View显示在导航栏下面如何解决?的更多相关文章

  1. Android自定义View——实现字母导航栏

    1.自定义View实现字母导航栏 2.ListView实现联系人列表 3.字母导航栏滑动事件处理 4.字母导航栏与中间字母的联动 5.字母导航栏与ListView的联动 1.先看主布局,方便后面代码的 ...

  2. React实现顶部固定滑动式导航栏(导航条下拉一定像素时显示原导航栏样式)

    摘要 基于react的框架开发一个顶部固定滑动式的酷炫导航栏,当导航栏置顶时,导航栏沉浸在背景图片里:当鼠标滑动滚轮时,导航栏固定滑动并展示下拉样式. JS部分 相关技术栈:react.antd.re ...

  3. 七、UIViewController导航栏

    概述 上一节我们算是跟UIViewController打了个招呼,同时也表示我们正式介入iOS开发.本节我们将介绍UI界面的一个常用元素:导航栏. iOS为UIViewController提供了内置导 ...

  4. 原生JS实现全屏切换以及导航栏滑动隐藏及显示——重构前

    思路分析: 向后滚动鼠标滚轮,页面向下全屏切换:向前滚动滚轮,页面向上全屏切换.切换过程为动画效果. 第一屏时,导航栏固定在页面顶部,切换到第二屏时,导航条向左滑动隐藏.切换回第一屏时,导航栏向右滑动 ...

  5. Dedecms丨显示指定的导航栏

    代码实例: {dede:channelartlist type='top' typeid='9,12,10' row='3' orderby='sortrank'}<li><a hr ...

  6. App开发流程之状态栏和导航栏

    记录状态栏和导航栏的设置和控制,统一在基类视图控制器中完成. 状态栏. 状态栏高度为20,iOS7以后背景完全透明. 样式枚举如下: typedef NS_ENUM(NSInteger, UIStat ...

  7. iOS系统中导航栏的转场解决方案与最佳实践

    背景 目前,开源社区和业界内已经存在一些 iOS 导航栏转场的解决方案,但对于历史包袱沉重的美团 App 而言,这些解决方案并不完美.有的方案不能满足复杂的页面跳转场景,有的方案迁移成本较大,为此我们 ...

  8. ios隐藏导航栏底线条和导航、状态栏浙变色

    方法一遍历法: 在你需要隐藏的地方调用如下代码 [self findlineviw:self.navigationBar].hidden = YES; -(UIImageView*)findlinev ...

  9. iOS:使用导航栏

    要求使用ARC // // main.m // Hello // // Created by lishujun on 14-8-28. // Copyright (c) 2014年 lishujun. ...

随机推荐

  1. 辉哥用的这种方法实现ZABBIX的MYSQL批量监控

    不错的.集中和分布式,总是一对要解决的问题.应该可以再想更好的策略~~ 一.方案需求及思路 因跑MySQL服务的服务器比较多,并且每台服务器可能会运行多个不同端口的数据库,如果单独手动一台一台去修改a ...

  2. Dp解决数组中连续子数组的最大和

    #include<iostream> ];     ;i<size;i++)     {           TempSum = CurSum;           )        ...

  3. DB_WRITER_PROCESSES与LOG_ARCHIVE_MAX_PROCESSES

    DB_WRITER_PROCESSES Property  Description Parameter type  Integer Default value  1 or CPU_COUNT / 8, ...

  4. 《深入Linux内核》 UNIX的一些故事

    Unix文件的类型1.普通文件2.目录3.符号链接4.面向块的设备文件5.面向字符的设备文件6.管道和命名管道7.套接字 点评:不明觉厉 打开文件进程只能访问“打开的”文件.为了打开一个文件,进程调用 ...

  5. 图论(网络流):[HNOI 2013]切糕

    [HNOI 2013]切糕 第三题:切糕(程序文件名:cake.exe)100 分,运行时限:5s 经过千辛万苦小A 得到了一块切糕,切糕的形状是长方体,小A 打算拦腰将切糕切成两半分给小B.出于美观 ...

  6. java编码问题深入总结

      Java语言能够这么普遍的应用,与其国际化的能力是 分不开的,国际化的编码是Java国际化中最重要的一个组成部分,Java的国际化编码能力与其使用Unicode编码是直接相关的.在Java中,任何 ...

  7. 动态规划——J 括号配对问题

    J - 括号匹配 Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Sta ...

  8. Vagrant虚拟机的配置管理

    Vagrant虚拟机的配置管理 一.shell配置管理 二.使用Puppet进行配置管理 三.案例 Apache服务器的自动配置 3.1 shell配置管理 3.2 puppet配置管理 ps:由于最 ...

  9. iphone匹配邮箱的正则表达式

    NSString *str = [NSString stringWithString:@"\\b([a-zA-Z0-9%_.+\\-]+)@([a-zA-Z0-9.\\-]+?\\.[a-z ...

  10. 完整的站内搜索Demo(Lucene.Net+盘古分词)

    前言 首先自问自答几个问题,以让各位看官了解写此文的目的 什么是站内搜索?与一般搜索的区别? 很多网站都有搜索功能,很多都是用SQL语句的Like实现的,但是Like无法做到模糊匹配(例如我搜索“.n ...