iOS开发从入门到精通--UIViewController基础

UIViewController基础

我们还是不用storyboard,下面我们还是以代码来逐一说明:

#import <UIKit/UIKit.h>
#import "AppDelegate.h"

//整个app程序的主函数,入口函数
int main(int argc, char * argv[]) {

    //自动内存释放池
    @autoreleasepool {

        //UIKit框架结构的启动函数
        //参数一:argc,启动时带有参数的个数
        //参数二:argv,参数列表
        //参数三:nil,要求传人一个主框架类类名,如果参数为nil,系统会自动用默认的框架类作为主框架类
        //参数四:主框架的代理类对象名字
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

在”AppDelegate.m” 文件里面:

#import "AppDelegate.h"
#import "ViewController.h"
@interface AppDelegate ()

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.

    //创建一个window对象
    //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;
}

- (void)applicationWillResignActive:(UIApplication *)application {
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

- (void)applicationWillTerminate:(UIApplication *)application {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}

@end

在ViewController.h文件里面:

#import <UIKit/UIKit.h>

//所有的控制器都需要自定义来完成
//继承于官方的UIViewController
@interface ViewController : UIViewController

@end

在ViewController.m文件里面:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

//当视图控制器第一次被加载显示视图时,调用此函数
//布局初始化视图来使用,初始化资源

- (void)viewDidLoad {
    //调用父类的加载视图函数
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    //创建一个view对象
    UIView * view =[[UIView alloc]init];
    view.frame=CGRectMake(100, 100, 100, 200);

    //将视图添加到当前控制视图上
    [self.view addSubview:view];

    //设置自己定义的一个view的背景颜色
    view.backgroundColor=[UIColor blueColor];

    //设置主窗口的背景颜色
    self.view.backgroundColor=[UIColor orangeColor];

}
//当系统内存过低时,会发起警告信息,调用此函数
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
时间: 2024-08-21 02:25:55

iOS开发从入门到精通--UIViewController基础的相关文章

iOS开发从入门到精通--UIViewController使用

UIViewController使用:从ViewController.m跳转到ViewController02.m,ViewController.m的生命周期问题,ViewController02消失之后再显示ViewController的过程 ViewController.m里面的代码: #import "ViewController.h" #import "ViewController02.h" @interface ViewController () @end

iOS开发从入门到精通--导航控制器基础

导航控制器基础 实现上面的导航栏,左侧按钮,中间的TITLE,还有右侧的test按钮,和一个播放的按钮 重新创建一个VCRoot根视图控制器 #import "AppDelegate.h" #import "VCRoot.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaun

iOS开发从入门到精通--定时器UITimer和视图对象移动

定时器UITimer和视图对象移动 在ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewController{ //定义一个定时器对象 //可以在每隔固定的时间发送一个消息 //通过消息来调用相应的事件函数 //通过此函数可在固定时间段来完成一个根据时间间隔的任务 NSTimer * _timeView; } //定时器的属性对象 @property(retain,nonatomic) NSTi

iOS开发从入门到精通-- 警告对话框UIAlertView和等待提示器UIActivityIndicatorView

警告对话框UIAlertView和等待提示器UIActivityIndicatorView: 1.UIAlertView简单一点就是弹框 2.就是所谓的菊花转圈圈 声明:注意@interface ViewController : UIViewController<UIAlertViewDelegate>这个里面多了一个UIAlertViewDelegate代理 #import <UIKit/UIKit.h> @interface ViewController : UIViewCon

iOS开发从入门到精通--自动布局子视图

自动布局子视图 #import <UIKit/UIKit.h> @interface ViewController : UIViewController{ //创建父视图对象 UIView * _superView; //左上角label UILabel * _label01; //右上角label UILabel * _label02; //右下角label UILabel * _label03; //左下角label UILabel * _label04; //中间 UIView * _v

iOS开发从入门到精通--XIB使用,登陆界面小试牛刀

XIB使用,登陆界面小试牛刀 创建一个新的视图控制器,具体操作参见点击查看 在创建好的VCRoot.xib里面拖动需要的控件,并拖动给相应的控件添加属性,给登陆按钮添加事件. VCRoot.h文件里面: #import <UIKit/UIKit.h> @interface VCRoot : UIViewController //IBOutlet表示从xib中创建的 @property (weak, nonatomic) IBOutlet UITextField *mName; @propert

iOS开发从入门到精通--开关按钮UISwitch控件

开关按钮UISwitch 在ViewController.h里面 #import <UIKit/UIKit.h> @interface ViewController : UIViewController{ //定义一个开关控件 //作用可以进行状态的改变 //开,关:两种状态可以切换 //所有UIKit框架库中的控件均已UI开头 //苹果官方的控件都定义在UIKit框架库中 UISwitch * _mySwitch; } @property(retain,nonatomic) UISwitch

iOS开发从入门到精通--XIB使用介绍

XIB使用介绍: 首先我们删除一些不需要的东西: 然后我们创建一个新的视图控制器 红色箭头Also create XIB file要勾选上 这个时候,我们可以看到有三个文件创建成功了,其中有一个RootController.xib文件,在这个里面就看到了一个像手机一样的视图,我们可以在右边进行拖拽一些控件在上面 下面启动这个视图代码要在代理AppDelegate.m书写: 要引入#import "RootController.h" #import "AppDelegate.h

iOS开发从入门到精通--手动布局子视图

手动布局子视图: 下面先看下效果图,我们今天要实现的效果: 这里我们默认用storyboard启动: 首先我们要在白色的屏幕上面创建一个父视图SuperView(蓝色的背景),在父视图里面创建四个小视图(橘黄色的背景) 下面看代码, 在SuperView.h文件里面: #import <UIKit/UIKit.h> @interface SuperView : UIView{ UIView * _view01; UIView * _view02; UIView * _view03; UIVie