UI_Target/action 设计模式
RootView.m 中
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
button.frame = CGRectMake(100, 100, 100, 40);
[button setTitle:@"Target" forState:UIControlStateNormal];
[self addSubview:button];
// addTarget:self.controller 原来是 self
// 方法 RootViewButtonDidClicked 在 ViewController.m 里面实现
[button addTarget:self.controller action:@selector(RootViewButtonDidClicked:) forControlEvents:UIControlEventTouchUpInside];
RootView.h 中
设置属性
@property (nonatomic, assign)UIViewController *controller;
ViewController.m
// 点击事件
- (void)RootViewButtonDidClicked:(UIButton *)sender
{
NSLog(@"hello");
}
- (void)viewDidLoad {
[super viewDidLoad];
// 设置控制器
self.rootView.controller = self;
}