标签:mvc window 设置 dealloc super
AppDelegate.m
#import "ViewController.h"
#pragma mark - 重写
#pragma mark dealloc
- (void)dealloc
{
[_window release];
[super dealloc];
}
//设置window
self.window = [[[UIWindow alloc] init] autorelease];
self.window.frame = [UIScreen mainScreen].bounds;
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
// 设置根视图控制器
ViewController *RootVC = [[ViewController alloc] init];
self.window.rootViewController = RootVC;
[RootVC release];
RootView.m里面写
#pragma mark - 重写
#pragma mark dealloc
- (void)dealloc
{
[_userName release];
[_userPWD release];
[_loginButton release];
[_registerButton release];
[super dealloc];
}
- (instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self addAllViews];
}
return self;
}
- (void)addAllViews
{
self.backgroundColor = [UIColor whiteColor];
self.userName = [[LTView alloc] initWithFrame:CGRectMake(30, 50, 260, 40) text:@"用户名" placeHolder:@"请输入用户名" isSecure:NO];
[self addSubview:_userName];
[_userName release];
self.userPWD = [[LTView alloc] initWithFrame:CGRectMake(30, 100, 260, 40) text:@"密码" placeHolder:@"请输入密码" isSecure:YES];
[self addSubview:_userPWD];
[_userPWD release];
self.loginButton = [UIButton buttonWithType:UIButtonTypeSystem];
self.loginButton.frame = CGRectMake(40, 160, 80, 40);
[self.loginButton setTitle:@"登录" forState:UIControlStateNormal];
[self addSubview:self.loginButton];
self.registerButton = [UIButton buttonWithType:UIButtonTypeSystem];
self.registerButton.frame = CGRectMake(150, 160, 80, 40);
[self.registerButton setTitle:@"注册" forState:UIControlStateNormal];
[self addSubview:self.registerButton];
}
#pragma mark - 重写
#pragma mark dealloc
- (void)dealloc
{
[_rootView release];
[_userName release];
[_userPWD release];
[super dealloc];
}
// 只写这三句话
- (void)loadView
{
self.rootView = [[RootView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.view = self.rootView;
[_rootView release];
}
#pragma mark - 模拟内存警告
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// 如果控制器执行了 viewDidLoad 方法(进行了加载过程),并且当前控制器控制的 view 没有显示在 window 上,则对控制器控制的 view 进行释放
if ([self isViewLoaded] && self.view.window == nil) {
self.view = nil;
}
NSLog(@"收到内存警告");
// Dispose of any resources that can be recreated.
}
- (void)viewDidLoad {
[super viewDidLoad];
[self.rootView.loginButton addTarget:self action:@selector(loginButtonDidClicked:) forControlEvents:UIControlEventTouchUpInside];
[self.rootView.registerButton addTarget:self action:@selector(registerButtonDidClicked:) forControlEvents:UIControlEventTouchUpInside];
}
#pragma mark - loginButton 点击事件
- (void)loginButtonDidClicked:(UIButton *)sender
{
NSLog(@"点击了登录");
}
- (void)registerButtonDidClicked:(UIButton *)sender
{
RegisterViewController *registerVC = [[RegisterViewController alloc] init];
// 模拟推出页面,进入下一级一面
[self presentViewController:registerVC animated:YES completion:nil];
}
- (void)viewDidLoad {
[super viewDidLoad];
[self.rooView.backButton addTarget:self action:@selector(backButtonDidClicked:) forControlEvents:UIControlEventTouchUpInside];
}
// 页面跳转
-(void)backButtonDidClicked:(UIButton *)sender
{
[self dismissViewControllerAnimated:YES completion:nil];
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:mvc window 设置 dealloc super
原文地址:http://blog.csdn.net/yadong_zhao/article/details/46732389