您的位置:首页 > 其它

Target_Action

2015-08-23 14:33 204 查看
#import "AppDelegate.h"

#import "MainViewController.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]];

    // Override point for customization after application launch.

    self.window.backgroundColor = [UIColor
whiteColor];

    [self.window
makeKeyAndVisible];
    [_window
release];

    

    MainViewController *mainVC = [[MainViewController
alloc]
init];

    self.window.rootViewController = mainVC;
    [mainVC
release];

    

    return
YES;
}

#import "MainViewController.h"

#import "TouchView.h"

@interface
MainViewController ()

@end

@implementation MainViewController

- (void)viewDidLoad {

    [super
viewDidLoad];

    // Do any additional setup after loading the view.

    

    //
自定义视图实现点击
   
TouchView *touchV = [[TouchView
alloc] initWithFrame:CGRectMake(20,
20, 335,
335)];
    touchV.backgroundColor = [UIColor
redColor];

//    touchV.alpha = 0;
    [self.view
addSubview:touchV];
    [touchV
release];

    

    
    touchV.target =
self;
    touchV.action =
@selector(touchAction:);

    

    

    
}

- (void)touchAction:(TouchView *)view
{

    NSLog(@"touchView被点击了");

}

#import <UIKit/UIKit.h>

@interface TouchView :
UIView

// 执行方法的对象

@property (nonatomic,assign)
id target;

// target对象的一个方法

@property (nonatomic,assign)
SEL action;

@end

#import "TouchView.h"

@implementation TouchView

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
   
NSLog(@"点击");

//    CGFloat red = arc4random() % 256 / 255.0;

//    CGFloat green = arc4random() % 256 / 255.0;

//    CGFloat blue = arc4random() % 256 / 255.0;

//    self.backgroundColor = [UIColor colorWithRed:red green:green blue:blue alpha:1.0];

    

    //
让 target 调用 action
方法

    //
就 target和action
具体是什么,TouchView本身不需要关心

    [self.target
performSelector:self.action
withObject:nil];

}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Targrt_Action