控制器的创建

一、第一种创建方式(使用代码直接创建)
  • 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中默认就已经进行了连线。 

时间: 2024-10-28 06:15:32

控制器的创建的相关文章

控制器的创建方式 -- 及其导航控制器的管理

一 控制器的创建方式 1.storyboard创建 1 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 2 3 self.window.backgroundColor = [UIColor blueColor]; 4 5 UIStoryboard *story = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 6 7 /

iOS控制器的创建方式

iOS控制器的创建.除了常见的alloc init外还有通过加载storyboard和xib的方式,下边逐一展开: 1.代码alloc init 创建方式 ViewController *vc= [[ViewController alloc] init]; 2.storyboard创建控制器 1>加载制定的storyboard文件 UIStoryboard *board =     [UIStoryboard storyboardWithName:@"viewCon" bundl

iOS开发UI篇—控制器的创建

iOS开发UI篇—控制器的创建 说明:控制器有三种创建方式,下面一一进行说明. 一.第一种创建方式(使用代码直接创建) 1.创建一个空的IOS项目. 2.为项目添加一个控制器类. 3.直接在代理方法中创建一个控制器. 1 #import "YYAppDelegate.h" 2 #import "YYViewController.h" 3 4 @implementation YYAppDelegate 5 6 - (BOOL)application:(UIApplic

控制器的创建和控制器View的创建

一.控制器的创建 1.第一种创建方式 FCViewController *vc = [[FCViewController alloc] init]; 2.第二种创建方式 // 加载UIStoryboard(注意:仅仅是加载名称叫做Test的storyboard, 并不会创建storyboard中的控制器以及控件) UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Test" bundle:nil]; // 创建s

iOS学习4_控制器的创建方式和控制器view的创建

UIScreen是与设备有关的物理屏幕 Window是一个窗口对应UIWindow类,继承自UIView,window要显示在Screen上必须设置为主窗口并且可见.接下来就可以往UIWindow上面添加一些控件了. 下图就是简单地层次关系 ViewController是用来组织和控制视图的,与上图不同的是这里使用了视图控制器ViewController,不需要直接将view指定给window,相反,只需要给window制定一个视图控制器,视图控制器会自动的将他的view添加给window.如下

11.09创建控制器和创建视图的多种方式

(一) 创建控制器的四种方法 (1)sb // 传niu就相当于[NSBundle mainbundle]: UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MYStoryBoard" bundle:nil]; self.window.rootViewController = [sb instantiateInitialViewController]; (2)sb+可重用标示 UIStoryboard *sb = [UISto

AspNet WebApi: 了解下HttpControllerDispatcher,控制器的创建和执行

HttpControllerDispatcher作为ASPNET WEB API消息处理管道中重要的部分,负责最后控制器系统的激活,action方法的执行,以及最后的响应生成. HtppControllerDispatcher继承HttpMessageHandler,重载了sendAsync方法. } public class HttpControllerDispatcher : HttpMessageHandler { //some protected override async Task<

控制器的创建方式

第一种 1 #import "AppDelegate.h" 2 #import "DJOneViewController.h"//新建一个空的视图控制器 3 @interface AppDelegate () 4 5 @end 6 7 @implementation AppDelegate 8 9 10 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NS

视图控制器的创建和视图切换

1.创建一个类继承UIViewController 2.创建视图控制器设计界面(在storyboard文件中创建一个ViewController) 3.将第一步创建的代码和第二步创建的界面进行关联(选中ViewController-->show the identity inspector的class写上继承UIViewController类的名字) 视图切换 如在A视图中有一个按钮如图 2.添加一个ViewController如图 选中按钮1按住control键拖动到按钮2的位置如图 选择mo

UIKit框架(5)控制器的创建

在UIKit中,UIViewController及其子类描述视图控制器,即一个页面 本篇文章介绍一下控制器的三种主要创建方式 纯代码创建 即:alloc+init方式,如: AMViewController * vc = [[AMViewController alloc] init]; 从storyboard中加载 a. 创建UIStoryboard对象 + (UIStoryboard *)storyboardWithName:(NSString *)name bundle:(NSBundle*