iOS开发之XCode学习:UIViewController基础

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

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脚本====================

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#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脚本====================

1
2
3
4
5
6
7
8
9
#import <uikit uikit.h="">
 
//所有的控制器都需要自定义来完成
 
//继承于官方UIViewController
 
@interface ViewController : UIViewController
 
@end</uikit>

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//当视图控制器第一次被加载显示视图时,调用此函数
 
//布局初始化视图来使用,初始化资源
 
- (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脚本====================

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#import <uikit uikit.h="">
 
#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]));
 
    }</uikit>