UITextFiled,UIButton,UIImageView交互相互之间的事件拦截
UIButton右上方添加一个笑button如:
UIButton *button =[UIButton buttonWithType:UIButtonTypeCustom];
button.frame= CGRectMake(100, 400, 120, 30);
[self.view addSubview:button];
UIButton * btn1 = [[UIButton alloc]initWithFrame:CGRectMake(button.frame.size.width-10, -10, 20, 20)];
[btn1 setImage:[UIImage imageNamed:@"ic_login_weixin"] forState:UIControlStateNormal];
[button addSubview:btn1];
button.layer.borderWidth = 1.f;
button.layer.borderColor = [UIColor blackColor].CGColor;
[btn1 addTarget:self action:@selector(touches) forControlEvents:UIControlEventTouchUpInside];虽然右上方的but1可以完全显示出来,但是点击btn1不能进行交互,也就是不能触发touches函数。
同理,在UITextFiled的右上方添加一个button如:
UITextField * filed = [[UITextField alloc]initWithFrame:CGRectMake(100, 200, 120, 30)];
[self.view addSubview:filed];
filed.borderStyle = UITextBorderStyleRoundedRect;
filed.layer.masksToBounds = NO;
UIButton * btn = [[UIButton alloc]initWithFrame:CGRectMake(filed.frame.size.width-5, -5, 10, 10)];
[filed addSubview:btn];
btn.backgroundColor = [UIColor redColor];
self.view.backgroundColor = [UIColor whiteColor];
[btn addTarget:self action:@selector(touches) forControlEvents:UIControlEventTouchUpInside];
点击右上方的btn同样是不能进行交互的,也就是说该事件被filed给拦截了。
实验,将
filed.userInteractionEnabled = NO;
btn.userInteractionEnabled = YES;
同样也会产生冲突不能进行交互。
但是!!!注意!!!但是!!!
实验UIImageView上面添加btn,然后让imageView可以交互,就能完成右上方的小btn点击时间啦!!!
代码如下:
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 400, 80, 80)];
UIButton* delBtn = [UIButton buttonWithType:UIButtonTypeCustom];
delBtn.tag = 101;
delBtn.frame = CGRectMake(imageView.frame.size.width-20, -10, 30, 30);
[delBtn setImage:[UIImage imageNamed:@"ic_login_weixin"] forState:UIControlStateNormal];
[delBtn addTarget:self action:@selector(delBtntouches) forControlEvents:UIControlEventTouchUpInside];
[imageView addSubview:delBtn];
[self.view addSubview:imageView];
imageView.image = [UIImage imageNamed:@"addimage"];
imageView.backgroundColor = [UIColor redColor];
UITapGestureRecognizer * ges = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(imageViewTouched)];
[imageView addGestureRecognizer:ges];
imageView.userInteractionEnabled= YES;
而且非常有意思的是,当点击除了delBtn的imageView的其它部分,响应的都是imageViewTouched,而点击了delBtn,则相应的是delBtntouches,但是delBtn超出imageview的部分点击也是没有效的。
由此我们可以推论出:uilabel已定也是可以这样来进行小btn的添加
最后:该理论的实际应用:
我们可以 在原来的图像上自定义来写一些图片增删的功能了。
UITextFiled,UIButton,UIImageView交互相互之间的事件拦截的更多相关文章
- iOS基础 - UIButton - UIImageView
封装思想:将相同的重复东西保存到方法里,不同的东西用参数代替.不相同的东西交给方法调用者,相同东西自己搞定. 一.UIButton和UIImageView的区别 1.显示图片 1> UIImag ...
- UIButton无法响应点击事件
一.问题描述 因为项目需要,需要UITableView上添加固定的筛选表头,一直固定,不能随UITableView滚动.所以直接将表头与UITableView分离,将它添加到控制器的UIView上,即 ...
- 讲讲Android事件拦截机制
简介 什么是触摸事件?顾名思义,触摸事件就是捕获触摸屏幕后产生的事件.当点击一个按钮时,通常会产生两个或者三个事件--按钮按下,这是事件一,如果滑动几下,这是事件二,当手抬起,这是事件三.所以在And ...
- android事件拦截处理机制详解
前段时间刚接触过Android手机开发,对它的事件传播机制不是很了解,虽然网上也查了相关的资料,但是总觉得理解模模糊糊,似是而非,于是自己就写个小demo测试了一下.总算搞明白了它的具体机制.写下自己 ...
- Android 事件拦截机制一种粗鄙的解释
对于Android事件拦截机制,相信对于大多数Android初学者是一个抓耳挠腮难于理解的问题.其实理解这个问题并不困难. 首先,你的明白事件拦截机制到底是怎么一回事?这里说的事件拦截机制,指的是对触 ...
- Unity3D研究院编辑器之Editor的GUI的事件拦截
OnGUI是Unity上一个时代的UI系统,而现在运行时的UI系统已经被UGUI取代,但是Editor的UI还是在用老的这一套GUI系统.比如unity编辑器里的所有窗口,布局,按钮,拖动条.滚动等等 ...
- Android开发系列之事件拦截机制
对于Android开发者来说理解事件传递机制的重要性,我想应该是不言而喻的.在一个Activity里面,我们经常会重写onTouchEvent事件,可是重写结束之后,对于是返回true还是返回fals ...
- Android事件拦截机制简单分析
前一阶段,在学习的时候,遇到了我觉得的我接触安卓以来的最多的一次事件拦截出来,那个项目,用到了slidemenu側滑菜单条,然后加上tab标签,还有轮播广告,listview上下滑动.viewpage ...
- (网页)HTML5 Canvas ( 事件交互, 点击事件为例 ) isPointInPath(转)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
随机推荐
- 关于"user.dir"的认识
最近阅读了一些tomcat源码,看到tomcat在读取jar包外配置文件,是将“user.dir”的路径作为home path文件即 通过System.getProperty("user.d ...
- ios iPhone的一些基础知识,扫盲
iPhone 4(2010 年):初始系统: iOS 4.0(GSM 版) (苹果第一次采用 iOS 为移动系统命名),iOS 4.2.2(CDMA 版)可以升级至:iOS 7.1.2 iPhone ...
- ASP.NET静态页生成
由于业务需要,得把页面按照模板页生成静态页面,所以自己就琢磨了下,写些思路,以备日后需要的时候用. 静态页生成用到最多的就是匹配跟替换了,首先得读取模板页的html内容,然后进行你自己定义的标签匹配, ...
- hdu 1565(状态压缩基础题)
题意:容易理解. 分析:这是我做的状态压缩第二题,一开始超内存了,因为数组开大了,后来超时了,因为能够成立的状态就那么多,所以你应该先把它抽出来!!总的来说还是比较简单的!! 代码实现: #inclu ...
- 《A Tour of PostgreSQL Internals》学习笔记——系统表和数据类型
上周末学习了<A Tour of PostgreSQL Internals>的第一部分(View 1),今天我们继续打开书本,继续View 2 部分. View 2 Postgresql的 ...
- 北邮网关登录python脚本
闲来无聊,来码一发 安装 pip install byrlogin 登录 登出
- linux下磁盘的挂载与卸载
Linux下每个文件系统都有独立的inode,block,super block等信息,这个文件系统要挂载到目录树才可以使用,将文件系统与目录树结合的操作称为挂载,反之则为卸载. 也就是说,挂载点一定 ...
- 原创 | 《地狱边境》登顶50国iOS下载榜,恐怖游戏或是独立开发者突破口(转)
文/手游那点事 Jagger 与大厂强IP称霸的App Store畅销榜相比,付费榜一向是独立游戏的温床.高质量的独立游戏并不需要在推广营销中投入太多成本,依靠过硬的品质和口碑在付费榜中缓缓上升造就高 ...
- 数往知来 HTML<十一>
HTML_CSS <!--一.表单 <form></form> 表单就是用来进行数据提交的标签 表单就是一对<form></form>标 ...
- MATLAB图像处理工具箱
下列表格中除了个别函数外,其余函数都是图像处理工具箱提供的关于图像处理的函数,现摘录到此以备查找. 表1 图像显示 函数名 功能说明 函数名 功能说明 colorbar 颜色条显示 montage 按 ...