iOS事件传递的应用(两个例子)
2016-06-20 00:00
597 查看
摘要: iOS事件传递的应用(两个例子),如何实现及其代码
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];
}
```
事件传递的应用(两个例子)
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)
相关文章推荐
- iOS文件上传遇到的坑
- 并发模型互斥和内存模型
- 【转】iOS中16进制转10进制
- ios osx 多线程编程指南
- iOS学习之事件处理的原理
- iOS新闻客户端开发教程8-加载更多和新闻详情
- iOS开发,javascript直接调用oc代码而非通过改变url回调方式
- iOS屏幕旋转学习笔记
- iOS开发之Socket
- Nagios 4.0.1安装
- 个人简历
- iOS是怎么被越狱的(UAF漏洞详解)
- iOS打包ipa步骤
- iOS百度地图 Demo
- iOS开发多线程篇 03 —线程安全
- IOS多线程开发
- [置顶] iOS应用程序执行流程
- iOS开发25个性能调优技巧
- iOS项目冗余资源扫描脚本
- ios 通过一个View生成一个图片