- (void)starButtonClicked:(id)sender { //先将未到时间执行前的任务取消. [[self class] cancelPreviousPerformRequestsWithTarget:self selector:@selector(todoSomething:) object:sender]; [self performSelector:@selector(todoSomething:) withObject:sender afterDelay:0.2f];…
// 重写此方法将按钮的点击范围扩大 - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event { CGRect bounds = self.bounds; // 扩大点击区域 bounds = CGRectInset(bounds, -, -); // 若点击的点在新的bounds里面.就返回yes return CGRectContainsPoint(bounds, point); }…
不知道有没有别的什么的好的方法,最近在实现一个需求(点击搜索,然后输入搜索内容,显示搜索出来的结果,然后点击搜索结果,在当前页面显示所点击的结果的详细的信息).遇到的问题是,点击搜索结果的时候,搜索的结果不隐藏,那么你就看不到被它挡着的东西了. 解决办法是 for (id view in subViews) { if ([view isKindOfClass:[UIButton class]]) { UIButton *cancelButton = (UIButton *)view; [canc…
为了对付拥有麒麟臂的测试人员或者用户对我们的按钮等控件展开惨无人道的快速啄击.厮以为可以用如下方法: 1 setEnabled 大法:在用户点击发生后调用setEnable(false);阻止持续受到伤害.而onClick中的处理逻辑执行完后再调用setEnable(true);进行迎击.此法代码多,且逻辑难处理,不推荐. 2 DoubleKill 大法:对于一些不想改动现有逻辑的童鞋可以选用该方法,样例如下: 定义: public final class DoubleKill { final…
转载请注明出处. 今天在调试代码的时候,在tableviewcell上添加button,发现button快速点击的话,是看不出点击效果的,查找资料发现, ios7上UITableViewCell子层容器是UITableViewCellScrollView, ios6的则是UITableViewCellContentView.点击效果应该是被ScrollView的触摸延迟给阻拦了. 经过一番摸索,终于找到解决方法. 第一步:将 tableView  的 delaysContentTouches 设…
写在前面 在iOS开发中,时常会用到按钮,通过按钮的点击来完成界面的跳转等功能.按钮事件的实现方式有多种,其中 较为常用的是目标-动作对模式.但这种方式使得view与controller之间的耦合程度较高,不推荐使用: 另一种方式是代理方式,按钮的事件在view中绑定,controller作为view的代理实现代理方法. 目标-动作对实现方式 具体来说,假设我们有一个包含一个Button的veiw,view将Button放在头文件中,以便外部访问.然后controller将view作为自己的vi…
前言: 小程序开发中诸如获取用户手机号码.调起微信支付.领取卡券等api都是会有一定的延迟的.也就是说通过点击按钮调用这些api的时候,从点击按钮调用api,到支付页面或者领取卡券界面展示出来是需要一定时间的,连续点击按钮,还是有可能会重复调用的. 虽然这种情况有点极端,正常用户是不会这么连续快速的点击按钮的,但是也不能排除有用户手抖,连续点了两下.如果重复调用的话,不仅体验不好,单击事件中涉及到后端接口操作的也可能引起其他异常.所以这个问题还是要处理下的. 刚开始想到的是使用loading开启…
       //代码2         public abstract class NoDoubleClickListener implements OnClickListener {               public static final int MIN_CLICK_DELAY_TIME = 1000;             private long lastClickTime = 0;               @Override             public vo…
自己的项目完成后,在测试中出现了一个情况,同时点击界面中的多个按钮,会跳转多个界面.然后又看了看别的app,发现也有这样的情况, 如图 上面是我手机上美团app的截图,上面的分类同时选择多个时,只能跳转到一个界面(只有一层),在我框选的范围里的按钮却能同时点击多个,于是跳转的界面就有多层,如图 这种情况虽然不算是BUG,但给用户的体验不是很好.虽然用户也不会进行这样的操作,但是难免会遇到一些专业的测试人员或开发人员,故意为之. 既然发现这个问题了,就得解决问题.其实这个问题也挺容易解决的,只需要…
在section=10:row=1:的UITableView中,每一个cell都带有一个按钮,例如如下的图片一样每一个cell中都有一个“进入店铺的按钮”,但是如果我点击相应的cell要进入对应的店铺如何处理呢?如果用”- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath”这个方法的话会的确可以用“indexPath.section”定位到我点击的是哪一个sectio…
Button.adjustsImageWhenHighlighted = NO; 去除按钮的点击效果,用这句代码就可以了!…
今天在看别人代码的时候,有个个60秒获取验证码的功能,做了个定时器,按钮触发定时器,点击按钮后设置按钮的enabled为NO,逻辑来讲都是没问题的 但是实际操作的时候,恶意的在短时间内多次点击那个获取验证码按钮,按钮的点击事件被调用了多次,定时器从而也调用多次,本来一秒减一的事件变成了一秒减多,并且减到0后继续调用方法,直到响应点击次数调用完,于是自己进行了下纠正: 按钮点击触发的方法: 在0.2秒时间间隔内多次点击只响应一次点击事件. - (void)clickSecdCodeButton:(…
最近测试人员测试我们的APP的时候,喜欢快速点击某个按钮,出现一个页面出现多次,测试人员能不能禁止这样.我自己点击了几下,确实存在这个问题,也感觉用户体验不太好.于是乎后来我搜了下加一个方法放在我们Utils类里 // 判断按钮是否快速点击 private static long lastClickTime; public synchronized static boolean isFastClick() { long time = System.currentTimeMillis(); if…
在ios4+和android2+系统,当手指触摸屏幕a标签链接或按钮时,会产生不同的效果,对于ios点击元素的时候,就会出现一个半透明的灰色背景:对于android则出现红色的边框.对这2个系统自带的效果,这种体验的意义无非为了告知用户按钮已经点击到,带来的价值是好的.可惜带来了体验的同时,也带来了bug...... 主要是在android手机的一个bug 使用css给模块设置了opacity:0,控制该模块隐藏,如果该模块包含a标签,其a标签在android手机是可以被触发的,而在iphone…
一.按钮的点击统计 有的时候我们遇见这样的需求,让我们统计用户点击我们页面的动作的次数给与用户以统计,供以后给客户端推送不同的页面数据,这时候我们就会用到iOS的黑魔法(runtime). 首先我们不可能修改原始的已经开发完的项目,这时候我们可以采用AOP思想的方式去解决这个问题(只是针对按钮的事件统计,而且不是xib创建的,这里我发现xib创建的不行). 1.首先新建一个按钮的类别,这里我就不用多讲了. 2.头文件引入 #import <objc/runtime.h> 3.+(void)lo…
;(function flexible (window, document) { var docEl = document.documentElement ♥1 var dpr = window.devicePixelRatio || 1 // adjust body font size function setBodyFontSize () { ♦2 if (document.body) { document.body.style.fontSize = (12 * dpr) + 'px' }…
最初开始做后台管理系统的时候,就曾遇到过这样一种场景:"快速点击确认按钮,就会对此触发确认事件,导致多次请求数据库":于是最终我们得当的通过处理那个确认button,解决了上述问题.而当自己开始使用RN做APP的时候,同样的问题居然也出现了,于是在处理完其他问题后,专门上网搜了一下此类问题的解决办法(不过好像都挺"高深一点",而自己却总认为越简单越好,那就摒弃了网上搜到的办法,另辟蹊径咯).突然意识到或许应该从源头解决,于是在官网中看到了这个: 原来在手机开发中也可…
项目中常会遇到在按钮的点击事件中去执行一些耗时操作.如果处理不当经常会出现连续多次点击push多次的情况,造成不好的用户体验. 一种情况是用户快速连续点击,这种情况无法避免.另一种情况是点击一次后响应时间太长,导致用户一直停留在点击界面,也会去再此点击按钮确认是否能执行下一个界面.虽然我们可以在用户点击一次后去显示一个HUB窗口隔绝用户操作,但我们并不清楚服务器去响应这个操作究竟需要多长时间,如果HUB指示器显示时间太长会显得响应特别慢,如果太短,用户很可能在指示器消失后再去点击Button,这…
jquery防止快速点击(推荐第三种方式) //全站ajax加载提示 (function ($) { var str = '<div class="ajax-status" style="display: none;">' + '<div class="ajax"><img src="' + publicPath + 'img/loading.gif" width="20" h…
button快速点击时,会导致,同一动作执行多次,常用解决办法: 第一种方法:推荐 //取消执行 [[self class] cancelPreviousPerformRequestsWithTarget:self selector:@selector(whenPriceChange) object:nil]; //延时0.2调用 [self performSelector:@selector(whenPriceChange) withObject:nil afterDelay:0.2]; 第二…
iOS Safari 中click点击事件失效的解决办法 问题起因: 在微信公众号开发(微站)过程中用jquery的live方法绑定的click事件点击无效(不能执行) 问题描述 当使用委托给一个元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效. 解决办法 解决办法有 4 种可供选择: ​将 click 事件直接绑定到目标​元素(​​即 .target)上 将目标​元素换成 …
在没有做题目中所述的内容的时候,感觉这应该是很简单的东西,但是当真正开始做的时候却发现,有很多问题现在在这里写出来,供和我一样水平不高的参考一下. 在写本文之前参照了一下文章 欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码) 最新版本:20070212 http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html C#通过webRequest保持在同一Session中Post数据 http://blog.c…
一般来说,按钮的点击范围是跟按钮的大小一样的.若按钮很小时,想增大点击区域,网上通用的方法有①设置btn图片setImage,然后将btn的size设置的比图片大②在btn上添加一个比较大的透明btn但以上有问题,若btn无图片就无法设置:添加透明btn则会改变view的层级.所以此时最好的方法是重写btn的 -(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event; 方法.例如: -(BOOL)pointInside:(CGPoi…
1.WebForm使用母版页后执行的顺序是先执行子页面中的Page_Load,再执行母版页中的Page_Load,请求是先生成母版页的控件树,然后将子页面生成的控件树填充到母版页中,最后输出 2.WebForm使用母版页进行登录时候的验证 //新建一个页面父类 public abstract class BasePage:Page { protected void Page_Load(object sender, EventArgs e) { //1.身份验证的方法 Session if (Se…
最近交流群里面有人问到一个问题:如何在Activity中响应ListView内部按钮的点击事件,不要在Adapter中响应? 对于这个问题,我最初给他的解答是,在Adapter中定义一个回调接口,在Activity中实现该接口,从而实现对点击事件的响应. 下班后思考了一下,觉得有两种方式都能比较好的实现:使用接口回调和使用抽象类回调. 正好可以复习一下接口和抽象类的区别,于是写了两个Demo: 1.使用接口回调: Adapter类 1 package com.ivan.adapter; 2 3…
  关于隐藏软键盘,网上的办法良莠不齐,大多是通过实现UITextFieldDelegate来隐藏软键盘,该方法代码较多,且在文本框很多的时不好处理.我经过搜索与摸索,找到了最佳的处理办法.(引用的)一.隐藏自身软键盘 当对于有多个UITextField控件都想通过点击“Return”来隐藏自身软键盘的情况,这时的最好办法是使用Did End on Exit事件.在点击软键盘右下角的“Return”按钮后,会触发该事件. 该事件有一个sender参数表示当前文本框,这样便可以编写一个通用的事件处…
 移动web开发经验总结 1.-webkit-tap-highlight-color:rgba(255,255,255,0)可以同时屏蔽ios和android下点击元素时出现的阴影.备注:transparent的属性值在android下无效. 2.-webkit-appearance:none可以同时屏蔽输入框怪异的内阴影. 3.-webkit-transform:translate3d(0, 0, 0)在ios下可以让动画更加流畅(这个属性会调用硬件加速模式),但是在android下不可乱用,…
如果解决ios怎样实现快速将显卡中数据读出压缩成视频在cocos2dx扩展开发中 手机平台性能是个关键问题. 压缩视频分成3个步骤: 读取显卡数据, 使用编码器压缩,保存文件. 使用libav 压缩的时候,软件编码器效率不够,在itouch5上面只能做到5-6 fps. 因此使用ios平台自带的AVFoundtion库来做,硬件加速编码,具体做法参考 http://stackoverflow.com/questions/9661259/record-the-drawing-as-a-m4v-vi…
IOS 点击空白处隐藏键盘的几种方法     IOS7 点击空白处隐藏键盘的几种方法   IOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,对于用户体验来说很不友好,我们可以实现点击键盘以外的空白区域来将键盘隐藏,以下我总结出了几种隐藏键盘的方法: 首先说明两种可以让键盘隐藏的Method: 1.[view endEditing:YES]  这个方法可以让整个view取消第一响应者,从而让所有控件的键盘隐藏. 2.[te…
写WAP页面的时候  一定要加上这组样式,以避免在IOS下面按钮被系统原生样式影响 input,textarea {outline-style:none;-webkit-appearance:none;}…