码迷,mamicode.com
首页 > 其他好文 > 详细

代理 Delegeta

时间:2015-08-26 01:23:17      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:

Delegate 

?????????????? 自定义视图CustomView ,创建一个实例对象,开始点击时视图缩短,移动过程中随机修改颜色,结束点击时视图恢复宽度

 

 

#import "AppDelegate.h"

#import "RootViewController.h"

@interface AppDelegate ()

 

@end

 

@implementation AppDelegate

 

- (void)dealloc

{

    [_window release];

    [super dealloc];

}

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

    // Override point for customization after application launch.

    self.window.backgroundColor = [UIColor whiteColor];

    RootViewController *rootVC = [[RootViewController alloc]init];

    self.window.rootViewController = rootVC;

    [rootVC release];

 

    [self.window makeKeyAndVisible];

    return YES;

}

 

 

 

 

 

 

 

#import "RootViewController.h"

#import "TouchView.h"

@interface RootViewController () <TouchViewDelegeta>

 

@end

 

@implementation RootViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    

    TouchView *view1 = [[TouchView alloc]initWithFrame:CGRectMake(30, 100, 300, 300)];

    view1.backgroundColor = [UIColor magentaColor];

    [self.view addSubview:view1];

    view1.delegeta = self;

    [view1 release];

    

}

 

- (void)touchViewBeginTouched:(TouchView *)touchView

{

    touchView.bounds = CGRectMake(0, 0, 150, 150);

}

 

- (void)touchViewMovedTouched:(TouchView *)touchView

{

    touchView.backgroundColor = [UIColor colorWithRed:arc4random() % 256 / 255.0 green:arc4random() % 256 / 255.0 blue:arc4random() % 256 / 255.0 alpha:1.0];

}

 

- (void)touchViewEndTouch:(TouchView *)touchView

{

    touchView.bounds = CGRectMake(0, 0, 300, 300);

}

 

 

 

 

#import <UIKit/UIKit.h>

 

@class TouchView;

 

@protocol TouchViewDelegeta <NSObject>

 

@optional

 

- (void)touchViewBeginTouched:(TouchView *)touchView;

- (void)touchViewMovedTouched:(TouchView *)touchView;

- (void)touchViewEndTouch:(TouchView *)touchView;

 

@end

 

 

@interface TouchView : UIView

 

@property(nonatomic,assign)id<TouchViewDelegeta> delegeta;

 

 

 

 

@end

 

 

 

 

 

#import "TouchView.h"

 

@implementation TouchView

 

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

    if (_delegeta && [_delegeta respondsToSelector:@selector(touchViewBeginTouched:)]) {

        [_delegeta touchViewBeginTouched:self];

    }

}

 

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event

{

    if (_delegeta && [_delegeta respondsToSelector:@selector(touchViewMovedTouched:)]) {

        [_delegeta touchViewMovedTouched:self];

    }

}

 

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

{

    if (_delegeta && [_delegeta respondsToSelector:@selector(touchViewEndTouch:)]) {

        [_delegeta touchViewEndTouch:self];

    }

}

 

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event

{

    

}

 

/*

// Only override drawRect: if you perform custom drawing.

// An empty implementation adversely affects performance during animation.

- (void)drawRect:(CGRect)rect {

    // Drawing code

}

*/

 

@end

代理 Delegeta

标签:

原文地址:http://www.cnblogs.com/jx451578429/p/4759048.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!