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])); }