一、理论学习
1??.每一个应用程序都有属于自己的UIWindow,继承自UIView
2??.每一个满屏的UIView都由一个UIViewController控制
3??.UIView面临的问题,UIViewController解决
二、iOS的运行原理
1??入口点是main函数
2??执行main函数
三、代码结构分析
1??main函数
#import <UIKit/UIKit.h> #import "AppDelegate.h" int main(int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } }
前两个参数为main函数的参数
第三个参数,传进去nil表示当前的UIApplication对象
第三个参数,传入UIApplication的代理
2??AppDelegate.m文件中的代码分析
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
初始化完成
- (void)applicationWillResignActive:(UIApplication *)application
失去焦点
- (void)applicationDidEnterBackground:(UIApplication *)application
进入后台
- (void)applicationWillEnterForeground:(UIApplication *)application
进去前台
- (void)applicationDidBecomeActive:(UIApplication *)application
获得焦点
- (void)applicationWillTerminate:(UIApplication *)application
程序销毁
分别在UIApplication不同的生命周期,调用不同的委托方法
四、代码初步实现
#import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (nonatomic, assign) IBOutlet UITextField *qq; @property (nonatomic, assign) IBOutlet UITextField *psw; -(IBAction)login; @end
IBOutlet可以让属性显示在xib文件右击上去
IBAction可以让方法显示在xib文件右击上去
#import "ViewController.h" @interface ViewController () @end @implementation ViewController -(void)login { NSString *qq = _qq.text; NSString *psw = _psw.text; NSLog(@"我的qq是%@,我的密码是%@", qq, psw); //FirstResponder表示第一响应者,resign分发出去 //[_qq resignFirstResponder]; //[_psw resignFirstResponder]; //退出键盘,表示当前ViewController控制的view退出编辑 [self.view endEditing:YES]; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
应用程序之SingleViewApplication,布布扣,bubuko.com
原文:http://www.cnblogs.com/letougaozao/p/3632135.html