zoukankan      html  css  js  c++  java
  • 控制器的创建

    一、第一种创建方式(使用代码直接创建)
    • 1.创建一个空的IOS项目

    • 2.为项目添加一个控制器类 

    • 3.直接在代理方法中创建一个控制器

    #import "AppDelegate.h"
    #import "HQViewController.h"
    
    @implementation AppDelegate
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        self.window.backgroundColor = [UIColor whiteColor];
    
        //创建控制器
        HQViewController *vc = [[HQViewController alloc]init];
        //设置控制器View的背景颜色
        vc.view.backgroundColor = [UIColor redColor];
        //设置该控制器为Window的根控制器
        self.window.rootViewController = vc;
        [self.window makeKeyAndVisible];
        return YES;
    }
    二、第二种创建方式(通过storyboard创建)
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
        // 创建窗口
        self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    
        // 创建窗口的跟控制器
        // 加载storyboard
        // storyboard文件名,不需要带后缀
        // nil:  [NSBundle mainBundle]
        UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    
        // 通过storyboard创建控制器
        // instantiateInitialViewController:加载箭头指向的控制器
        UIViewController *vc = [storyboard instantiateInitialViewController];
        //如果storyboard中有多个控制器,可根据标识来创建控制器(要在storyboard中设置唯一标识)
        UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"hq"];
    
        self.window.rootViewController = vc;
    
        // 显示窗口
        [self.window makeKeyAndVisible];
    
        return YES;
    }
    三、第三种创建方式(使用xib创建)
    • 新建一个xib文件,命名为one.xib

    • 创建过程和注意点

      • 创建代码

        - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
        
          self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
          self.window.backgroundColor = [UIColor whiteColor];
        
          //1.通过xib创建控制器
           HQViewController *vc = [[HQViewController alloc]initWithNibName:@"one" bundle:nil];
          //2.设置这个控制器为Window的根控制器
          self.window.rootViewController = vc;
        
          [self.window makeKeyAndVisible];
        
          return YES;
        }
      • 两个错误注意点

        • 不能加载

          • 在xib文件中没有进行任何操作
          • 解决方法:往xib中拖一个view
        • 加载了xib,但是没有设置输出口

          • 产生原因:没有把xib的view设置为HQviewController的view

          • 解决方法:设置File‘s Owner,可以理解为设置这个文件归谁所有,对File‘s Owner和view进行连线。连线是因为一个xib中可能会有多个view,在storyboard中默认就已经进行了连线。 

     

  • 相关阅读:
    [LeetCode] 981. Time Based Key-Value Store
    [LeetCode] 97. Interleaving String
    [LeetCode] 953. Verifying an Alien Dictionary
    代价敏感的学习方法
    深度学习中Dropout原理解析
    梯度下降法的三种形式BGD、SGD以及MBGD
    吉布斯采样(Gibbs Sampling)简介(转)
    Java中next()和hasNext() ? nextLine()和hasNextLine()?区别详解
    红黑树介绍及旋转详解
    Pycharm中实现openCV安装好后简单测试
  • 原文地址:https://www.cnblogs.com/luoze/p/5468205.html
Copyright © 2011-2022 走看看