首页 > 代码库 > UIWindow,UINavigationController与UIViewController之间的关系
UIWindow,UINavigationController与UIViewController之间的关系
UIWindow,UINavigationController与UIViewController之间的关系
虽然每次你都用UINavigationController与UIWindow,但你不一定知道他们之间到底怎么运作的哦:)
AppDelegate.h的代码
RootViewController.m
//// RootViewController.m// UIWindow//// Copyright (c) 2014年 Y.X. All rights reserved.//#import "RootViewController.h"#define VALUE 1@interface RootViewController ()@end@implementation RootViewController- (void)viewDidLoad{ [super viewDidLoad]; self.view.backgroundColor = [UIColor redColor]; UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapEvent:)]; [self.view addGestureRecognizer:tap];}- (void)tapEvent:(UITapGestureRecognizer *)gesture{ static int flag = 1; if (flag) { // 初始化3D变换,获取默认值 CATransform3D perspectiveTransform = CATransform3DIdentity; // 缩放变换 perspectiveTransform = CATransform3DScale(perspectiveTransform, 0.75, 0.75, 0.75); [UIView animateWithDuration:0.3 animations:^{ if (VALUE) { // 导航控制器的view self.navigationController.view.transform = CATransform3DGetAffineTransform(perspectiveTransform); } else { // 自身controller的view self.view.transform = CATransform3DGetAffineTransform(perspectiveTransform); } }]; flag = 0; } else { // 初始化3D变换,获取默认值 CATransform3D perspectiveTransform = CATransform3DIdentity; // 缩放变换 perspectiveTransform = CATransform3DScale(perspectiveTransform, 1, 1, 1); [UIView animateWithDuration:0.3 animations:^{ if (VALUE) { // 导航控制器的view self.navigationController.view.transform = CATransform3DGetAffineTransform(perspectiveTransform); } else { // 自身controller的view self.view.transform = CATransform3DGetAffineTransform(perspectiveTransform); } }]; flag = 1; }}@end
VALUE = http://www.mamicode.com/1 的时候与 VALUE = 0 的时候
他们的关系其实非常简单.
UIWindow ---> UINavigationController ---> UIViewController,
有时候,我们需要做缩放动画的效果,或者是转场动画的效果,不理解他们之间细微的差距,是没办法处理好的.
他们之间的关系:
知道了这些原理,再写一个侧边栏,实在是太简单了:).
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。