iOS开发之XCode学习:UIViewController基础

作者: iOS 发布时间: 2021-01-27 浏览: 1704 次 编辑

iOS开发之XCode学习:UIViewController基础

学习总结:

  • 重点:UIViewController的基本概念
  • 难点:UIKit框架代码概念

源码链接地址:https://pan.baidu.com/s/1yrOLXZZeu9MiOWtMq5-EGA 密码:7t1l

红色框选部分用A代替,AppDelegate类在程序框架启动时,如果在info.plist中有A这个文件,那么就会查找这个文件,并加载Main.storyboard,作为主框架结构的主视窗里的视图(白色界面);

如果在info.plist中没有A这个文件,

所以在接下来的操作中会先去掉A(鼠标移到A上面并点击“-”即可),用我们自己的方式来实现该功能。

====================AppDelegate.m脚本====================

#import "AppDelegate.h"

//导入系统默认视图控制器

#import "ViewController.h"

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    // Override point for customization after application launch.

    

    //创建一个window对象

    //属于AppDelegate的属性

    //UIScreen:表示屏幕硬件类

    //mainScreen:获得主屏幕的信息

    //bounds:当前手机屏幕的大小

    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

    

    //创建视图控制器对象

    ViewController* vcRoot = [[ViewController alloc] init];

    

    //对窗口的根视图控制器进行赋值操作

    //整个UIKit框架中只有一个根视图控制器,属于window的属性

    //视图控制器用来管理界面和处理界面的逻辑类对象

    //程序启动前必须对根视图控制器赋值

    self.window.rootViewController = vcRoot;

    

    //将window作为主视图并显示出来

    [self.window makeKeyAndVisible];

    

    return YES;

}

====================ViewController.h脚本====================

#import 

//所有的控制器都需要自定义来完成

//继承于官方UIViewController

@interface ViewController : UIViewController

@end

====================ViewController.m脚本====================

//当视图控制器第一次被加载显示视图时,调用此函数

//布局初始化视图来使用,初始化资源

- (void)viewDidLoad {

    //调用父类的加载视图函数

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    

    UIView* view = [[UIView alloc] init];

    

    view.frame = CGRectMake(100, 100, 100, 200);

    

    //将视图添加到当前控制视图上

    [self.view addSubview:view];

    

    view.backgroundColor = [UIColor orangeColor];

    

    self.view.backgroundColor = [UIColor blueColor];

}

 

//当系统内存过低时,会发起警告信息,调用此函数

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

    NSLog(@"内存过低!");

 //以下步骤模拟内存过低情况:在XCode运行后,Simulator-->Debug-->Simulate Memory Warning,点击

}

@end

====================main.m脚本====================

#import 

#import "AppDelegate.h"

 

//整个App程序的主函数,入口函数

int main(int argc, char * argv[]) {

    //自动内存释放池

    @autoreleasepool {

        //UIKit框架结构的启动函数

        //p1:argc,启动时带有参数的个数

        //p2:argv,参数列表

        //p3:要求传入一个主框架类对象,如果参数为nil,系统会自动用默认的框架类作为主框架类名

        //p4:主框架的代理类对象

        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

    }