apple的例子是将UINavigationController作为window的子对象来加载。
但是实际应用里,首页面很可能是登陆页面等等,即首页面是一个uiview,然后跳转到另外一个uiview,再该view下才是包含了uinavigationcontroller对象。
window+
loginview+
workview
那么比如在loginview中的登陆事件成功后,需要将workview盖在loginview上。
大致上有两种代码:
1. [self.view addSubview:workview.view]; // 直接在自己view里加载workview
2. [[self.view window]addSubview:workview.view]; //在window里加载workview
但是UINavigationController有一个特性,会让自己上面有20px的空格,这也是为什么例子老是在window下做的原因,因为window是 320*480的 而我们建的view可能是320*460,再下移20px就等于下移了40px。
因此在方法1中调用之后,在顶部会出现一个20px的空行。因为UINavigationController不知道自己在一个view中。所以需要在workview的viewDidLoad方法中,加入如下语句:
[navi.view setFrame: [self.view bounds]]; //或者直接下面
[navi.view setFrame:CGRectMake(0, 0, 320, 460)];
第2种,因为直接是在window中,是需要下移20px的,所以在workview的viewDidLoad方法里不需要修改
好吧,扯一大堆,其实就是为了记个笔记:UINavigationController有一个特性,会让自己上面有20px的空格。
分享到:
相关推荐
UInavigationController笔记
我们写iOS项目的时候,基本都是一个UINavigationController套一个UITabBarController的形式,就是上面一个导航栏,下面几个按钮的工具条的形式。我写了几个应用,发现如果每次都重新写的话完全就是浪费精力和时间,...
上传的demo关于UINavigationController中back按钮的重写方法, UINavigationController的back按妞本身是没有监听方法的,但是我们通过添加类目可以使back按钮具有监听的作用.让我们能在UINavigationController触发返回...
UINavigationController 简单使用方法,增加自定义导航按钮。图片按钮,switch按钮。
UINavigationController的一些使用详解
IOS7 UINavigationController滑动Demo,解决了在push后的页面可以滑动返回的问题。
页面跳转 UITabBarController+UINavigationController+UIViewController
iOS UINavigationController自定义,push动画效果
导航控制器(UINavigationController)用来管理一系列显示层次型信息的场景。一般而言,逐步显示更详细的信息。 导航控制器 -- 用户在场景之间切换时,导航控制器依次将视图控制器压入(push)堆栈中,且当前场景的...
一个小demo,演示如何隐藏tabbar
UINavigationController导航控制器
## 问题描述 * 从iOS7开始,系统为UINavigationController提供了一个interactivePopGestureRecognizer用于右滑返回(pop),...* 自定义UINavigationController,重写interactivePopGestureRecognizer的delegate相关方法。
相关知识共享: leftBarButtonItem与backBarButtonItem的区别 - http://blog.csdn.net/moon_prince2013/article/details/49079251 ViewController中[self setTtile]与[self.navigationItem setTitle]的区别 - ...
UITabBarController和UINavigationController的整合使用DEMO,详情见:http://blog.csdn.net/hwe_xc/article/details/50588500
UINavigationController_学习笔记
让 UINavigationController 支持全屏操作手势.zip,A UINavigationController's category to enable fullscreen pop gesture with iOS7 system style.
iOS 使用UINavigationController 进行页面跳转 http://blog.csdn.net/liuyan20092009/article/details/52233769
很多时候我们创建一个基于UITabBarController的application以后还希望能够在每个tab view都可以实现导航控制,即添加一个UINavigationController来实现tabview内部的view之间的切换,这即是本文所要介绍的。
iphone中的基础控件UINavigationController,适合初学者,主要学习UINavigationController的基本属性和常用方法调用。 UINavigationController也是一种常用的容器,跟前边学过的tabbar差不多,在这个容器中可以添加...