IOS开发之XCode学习008:UIViewController基础
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm

红色框选部分用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 <UIKit/UIKit.h>
//所有的控制器都需要自定义来完成
//继承于官方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 <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]));
}
学习总结:
- 重点:UIViewController的基本概念
- 难点:UIKit框架代码概念
源码链接地址:https://pan.baidu.com/s/1yrOLXZZeu9MiOWtMq5-EGA 密码:7t1l
IOS开发之XCode学习008:UIViewController基础的更多相关文章
- IOS开发之XCode学习009:UIViewController使用
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 通过点击屏幕事件,调用ViewController ...
- IOS开发之XCode学习011:UISwitch控件
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.定义UIswitch控件,添加UIswitc ...
- IOS开发之XCode学习007:UIWindow对象
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm #import "AppDelegate.h" @i ...
- IOS开发之XCode学习012:Slider和ProgressView
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.定义UISlider和UIProgressV ...
- IOS开发之XCode学习010:定时器和视图对象
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.通过点击"启动定时器"按钮 ...
- IOS开发之XCode学习013:步进器和分栏控件
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.定义UIStepper和UISegmente ...
- IOS开发之XCode学习014:警告对话框和等待提示器
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.警告对话框和等待提示器的概念 2.警告对话框 ...
- iOS开发之Xcode常用调试技巧总结
转载自:iOS开发之Xcode常用调试技巧总结 最近在面试,面试过程中问到了一些Xcode常用的调试技巧问题.平常开发过程中用的还挺顺手的,但你要突然让我说,确实一脸懵逼.Debug的技巧很多,比如最 ...
- iOS开发之Xcode常用调试(Debug)技巧总结
一.Xcode调试技巧之:NSLog 上面也提到了,在我们日常的开发过程中最常见的Debug方式就是打Log.而在OC语言中,打Log是采用NSLog方法.但是NSLog效率低下,具体原因可以看这篇博 ...
随机推荐
- System.nanoTime
System.currentTimeMillis()返回的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数. System.nanoTime()返回的是纳秒,nanoTime而返回的可能是任意 ...
- NIO内存映射
磁盘的IO因为速度较慢,可能成为系统运行的瓶颈.所以磁盘的IO在操作系统级实现了提前读,延迟写的机制来提升IO的性能. 提前读就是一次读取需求的数据的同时多读接下来的一段数据至OS缓冲区中,延迟写就是 ...
- Java设计模式——装饰模式
转载自:http://blog.csdn.net/xu__cg/article/details/53024490 抽象构件 public interface CarInterface { void m ...
- BZOJ 3670: [Noi2014]动物园 [KMP]
求这玩意: 对于字符串S的前i个字符构成的子串,既是它的后缀同时又是它的前缀,并且该后缀与该前缀不重叠,将这种字符串的数量记作num[i] 对1,000,000,007取模的结果 n≤5,L≤1,00 ...
- c语言输入一个字符串,统计其字母,数字和其他字符的个数,并以柱状图输出
#include<stdio.h>int main(int arge,char *argv[]){ char ch; int alp=0,num=0,oth=0,len,alp_start ...
- typeof面试题解答
面试题 alert(typeof null); // object alert(typeof undefined); // undefined alert(typeof NaN); // number ...
- SDN期末作业
期末项目 代码仓库:传送门 视频:组长已经发送给朱老师 选题:负载均衡场景3 选题内容: 该拓扑是数据中心拓扑的一部分,其中h1是数据中心外的一台客户机,h2-h5是数据中心内的服务器,请根据该拓扑实 ...
- php语言基础(一)
一.php标记风格 1.1xml风格(常用) <?php echo "xml风格": ?> 1.2脚本风格 <script language="php& ...
- Java常用日志框架介绍
Java常用日志框架介绍 java日志概述 对于一个应用程序来说日志记录是必不可少的一部分.线上问题追踪,基于日志的业务逻辑统计分析等都离不日志.java领域存在多种日志框架,目前常用的日志框架包括L ...
- Centos6.8安装zabbix-3.2.6
系统环境:Centos6.8 mini软件:zabbix-3.2.6 zabbix 服务端安装 安装yum 扩展源 rpm -ivh http://repo.webtatic.com/yum/el6/ ...