创建三个类
BasicViewController : UIViewController
SecondViewController : UIViewController
ThirdViewController : UIViewController
然后我们在BasicViewController .m文件中push一个viewController:
SecondViewController *svc = [SecondViewController new];
[self.navigationController
pushViewController:svc animated:true];
在SecondViewController.m文件中pop出viewController:
[self.navigationController
popViewControllerAnimated:true]
问题就来了,
push和pop是同一个viewController,那为什么用self.navigationController 就可以知道了
其中在AppDelegate.m:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
BasicViewController *basicViewController = [BasicViewController new];//实例化内存后,_parentViewController-->nil
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:basicViewController];
// self.window.rootViewController = basicViewController.parentViewController;
self.window.rootViewController = navigationController;
[self.window makeKeyAndVisible];
return YES;
}
等价于
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
BasicViewController *basicViewController = [BasicViewController new];//实例化内存后,_parentViewController-->nil
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:basicViewController];
self.window.rootViewController = basicViewController.parentViewController; //不可以注释上一句,因为上一句是为_parentViewController实例化
// self.window.rootViewController = navigationController;
[self.window makeKeyAndVisible];
return YES;
}
分配内存如图
- 大小: 40.9 KB
分享到:
相关推荐
详情请看博客http://blog.csdn.net/ecjtuacm_yuewei/article/details/69400245
通过故事板兼容的自定义转场,在 UINavigationController 堆栈中的 UIViewController 之间交替的简单方法。 (也与导航控制器堆栈外的视图控制器兼容) 主要基于提供的。 用法 代码中的用法与任何其他 segue 相同...
UIViewController添加多个UIViewController。可以把UIViewController的View当作容器,让其他UIViewController添加进该View,并可以在多个UIViewController间切换。
MVVM MVVM是一个图书馆,供谁开始使用Swift编写的MVVM(Model-View-ViewModel)编写iOS应用程序。... UINavigationController和UIViewController的自定义过渡集成Fastlane应用分发。要求iOS 10.0以上Xcode 10.0
JNAPushPopCompletionBlock概要的完成块[ self .navigationController pushViewController: (nonnull UIViewController *) animated: ( BOOL )] 和[ self .navigationController popViewControllerAnimated: ( BOOL ...
Ios简单的备忘录app,刚入门ios开发在网上看到了一个UITableView的使用例子便把网上的... 使用UINavigationController 实现的视图(UIViewController)间切换和数据传递 ; UIAlertView的使用 ; 使用NSData实现数据存储.
1、一般导航条标题的字体setTitleTextAttribute和背景颜色setBackgroundImage都是统一的,可以在load方法中使用appearanceWhenContainedIn统一设置 2、一般导航条的返回按钮需要自定义,一般除了栈底控制器有导航条...
ZMScrollableNavigationBar 允许 UINavigationBar 随内容滚动的 UINavigationController 子类(仅限 iOS 8) 点击图片查看视频预览:安装###使用 CocoaPods 只需将pod 'ZMScrollableNavigationBar', '~> 1.0.1'到您...
在iOS7之前,开发者为了寻求自定义Navigation Controller的Push/Pop动画,只能受限于子类化一个UINavigationController,或是用自定义的动画去覆盖它。但是随着iOS7的到来,Apple针对开发者推出了新的工具,以更灵活...
iOS4的入门书籍 1 The iOS Software Development Kit (SDK) 2 A C Refresher 3 Just Enough Objective-C: Part One 4 Just Enough Objective-C: Part Two 5 Deploying to an iPhone, Debugging, and Testing 6 ...
在iOS7之前,开发者为了寻求自定义Navigation Controller的Push/Pop动画,只能受限于子类化一个UINavigationController,或是用自定义的动画去覆盖它。但是随着iOS7的到来,Apple针对开发者推出了新的工具,以更灵活...
源码...效果类似 Keynote 软件中 Magic Move 切换,可以用于任意两个 UIViewController 之间,只需要前后两个 ViewController 均继承 BCMagicTransitViewController ,并指定两个VC中的相同元素即可。
Foundation NSArray NSBundle NSData NSDate NSDictionary ...UINavigationController UIResponder UIScrollView UISearchBar UITableViewCell UITextField UITextView UIView UIViewController UIWebView
在iOS5.1 和 之前的版本中, 我们通常利用 shouldAutorotateToInterfaceOrientation: 来单独控制某个UIViewController的旋屏方向支持,比如: 代码如下: – (BOOL)shouldAutorotateToInterfaceOrientation:...
源码BCMagicTransition,自定义UINavigationController的切换动画,效果类似 Keynote 软件中 Magic Move 切换,可以用于任意两个 UIViewController 之间,只需指定两个VC中的相同元素即可。 测试环境:Xcode 6.2,...
作者KenwayGogo,源码DZXNavigationController,通过自定义UINavigationController和UIViewController实现一个更加灵活的导航栏。DZXNavigationController是一个灵活的导航栏框架,它支持以下特性: ● 全屏的转场...
一般都只能通过子类化UINavigationController或者自己编写动画代码去覆盖相应的方法,现在iOS7为开发者带来了福音,苹果公司引入了大量新API,给予了开发者很高的自由度,在处理由UIViewController管理的UIView动画...
创建一个名为ScoreViewController的UIViewController 在AppDelegate中,didFinishLaunching方法初始化了一个以ScoreViewController实例为rootViewController的UINavigationController。 使navigationController成为...
iOS 5 Programming Cookbook by Vandad Nahavandipoor Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix...
RDVTabBarController 支持iPad和iPhone 支持横向和纵向 可以在UINavigationController内部使用 可定制的徽章 ...UIViewController *firstNavigationController = [[UINavigationController alloc ]