UINavigationController纯代码实现细节提示

UINavigationController纯代码实现细节提示

直接实现UINavigationController的最少代码

//AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    ViewController1 *viewController1=[[ViewController1 alloc]init];//第1句,为第2句需要的rootViewController参数做准备
    UINavigationController *navigationController=[[UINavigationController alloc]initWithRootViewController:viewController1];//第2句,新建并初始化navigationController实例。
    self.window.rootViewController=navigationController;//第3句,把window类里的rootViewController属性进行设置,这句最容易忽略。

    return YES;
}
/*
总结:
1.确定在哪个文件里写代码。要想纯代码实现UINavigationController,首先要确定是在AppDelegate.m这个文件里的第一方法里写代码。
2.从思路上来说,步骤分为两步:第一步,创建UINavigationController实例;第二步,把创建的这个实例导航控制器设置为当前App的根控制器。
3.在进行第2步的时候,需要导入一个UIViewController的.h文件。所以,在AppDelegate需要import "XXXviewController.h"。
4.设置导航栏控制器成功后,会在每个ViewController里看到屏幕顶部的导航栏。
*/

以下这段代码是在其他博客里看到的,其中我注释『可以删除』的三段,删除后并不影响导航控制器的实现。希望知道这三句实际作用的朋友可以评论告知。

//AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    self.window=[[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];//可以删除
    self.window=[[UIWindow alloc]initWithFrame:CGRectMake(0, 0, 100, 100)];//可以删除

    ViewController1 *viewController1=[[ViewController1 alloc]init];
    UINavigationController *navigationController=[[UINavigationController alloc]initWithRootViewController:viewController1];
    self.window.rootViewController=navigationController;
     [self.window makeKeyAndVisible];//可以删除

    return YES;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值