View和Controller代码组织

来源:转载

//

// MyView.h

//#import <UIKit/UIKit.h>

@interface MyView : UIView {
UIButton* m_button;
}

/**
* 关联event,delegate
*/
-(void)connection:(id)target;
-(void)setButtonText:(NSString*)text;

@end

//
// MyView.m
//

#import "MyView.h"
@implementation MyView


- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
/**
* 组装view
*/
m_button = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
[m_button setTitle:@"tap me!" forState:UIControlStateNormal];
[self addSubview:m_button];
}
return self;
}

-(void)connection:(id)target{
[m_button addTarget:target action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
}

-(void)setButtonText:(NSString*)text{
[m_button setTitle:text forState:UIControlStateNormal];
}

/**
* 调整布局
*/
-(void)layoutSubviews{
m_button.frame = CGRectMake(100, 100, 64, 24);
}

- (void)dealloc
{
[m_button release];
[super dealloc];
}

@end

//
// MyController.h
//

#import <UIKit/UIKit.h>

@class MyView;
@interface MyController : UIViewController {
/**
* 关联view
*/
MyView* m_myView;

/**
* 模型数据
*/
NSInteger m_tapCount;
}

@end

//
// MyController.m
//

#import "MyController.h"
#include "MyView.h"

@implementation MyController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
/**
* 初始化controller
*/
self->m_tapCount = 0;
}
return self;
}

- (void)dealloc
{
[m_myView release];
[super dealloc];
}

//-(void)didReceiveMemoryWarning
//{
// [super didReceiveMemoryWarning];
//}

#pragma mark - event

-(void)buttonClick:(id)sender{
[m_myView setButtonText:[NSString stringWithFormat:@"%d", ++self->m_tapCount]];
}

/**
* 加载自定义view
*/
- (void)loadView
{
m_myView = [[MyView alloc] initWithFrame:CGRectZero];
self.view = m_myView;
[m_myView connection:self];
}

//- (void)viewDidLoad
//{
// [super viewDidLoad];
//}
//
//- (void)viewDidUnload
//{
// [super viewDidUnload];
//}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

@end


分享给朋友:
您可能感兴趣的文章:
随机阅读: