您的位置:首页 > 移动开发 > IOS开发

iOS事件传递的应用(两个例子)

2016-06-20 00:00 597 查看
摘要: iOS事件传递的应用(两个例子),如何实现及其代码

事件传递的应用(两个例子)

1.先来看下两个例子长什么样子

1.


2.


#####2.对两张图片的功能说明一下

第一张,上面的粉红view将下面的button盖住了一部分,要求点击button时,按钮处理事件,其它的由view处理

第二张,点击button时弹出对话框,点击对话框时,对话框图片再换

两张图片的功能想要解决都和事件的处理有关

第一张思路:如果判断点在button上时,hittest直接返回button的对象,其它的系统默认就好

第二张思路:和第一张差不多

#####3.代码的具体实现

第一张图片代码



-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
//转换点
CGPoint p=[self convertPoint:point toView:self.btn];
if ([self.btn pointInside:p withEvent:event]==YES) {
return self.btn;
}else{
return [super hitTest:point withEvent:event];
}
}
```

第二张图片代码



-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
CGPoint p=[self convertPoint:point toView:self.btn];
if ([self.btn pointInside:p withEvent:event]) {
return self.btn;
}else{
return [super hitTest:point withEvent:event];
}
// return [super hitTest:point withEvent:event];
}
```

- (IBAction)popBtn:(HYLButton *)sender {
HYLButton *btn=[HYLButton buttonWithType:UIButtonTypeCustom];
btn.bounds=CGRectMake(0, 0, 200, 200);
btn.center=CGPointMake(100, -100);
[btn setBackgroundImage:[UIImage imageNamed:@"对话框"] forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:@"小孩"] forState:UIControlStateHighlighted];
sender.btn=btn;
[sender addSubview:btn];
}

```
#####4.github代码地址
* [第一张图片github](http://git.oschina.net/HYLAppleDream/constroller/tree/master/事件的产生与传递应用一/事件的产生与传递应用一?dir=1&filepath=事件的产生与传递应用一%2F事件的产生与传递应用一&oid=13c7721a1e1659bbc938bbe21e06c095790c8a0d&sha=308b23f00283ace305d6b050c797dfbd257df5f0)
* [第二张图片github](http://git.oschina.net/HYLAppleDream/constroller/tree/master/事件的产生与传递应用二/事件的产生与传递应用二?dir=1&filepath=事件的产生与传递应用二%2F事件的产生与传递应用二&oid=57d33b28918e2263318f34487934fcb51af2f944&sha=c3896b2ddb0519b59a60c2cb2e51e91fa6193724)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息