项目中遇到了一个Button快速多次点击导致UIControlEventTouchUpInside多次连续触发的问题,这里记录一下解决方案,代码很简单,一个UIButton的分类,当然也可以做UIControl的分类。
UIButton+RepeatTapHandle.h

1
2
3
4
5
#import <UIKit/UIKit.h>
@interface UIButton (RepeatTapHandle)
@end

UIButton+RepeatTapHandle.m

1
2
3
4
5
6
7
8
9
10
11
12
13
#import "UIButton+RepeatTapHandle.h"
@implementation UIButton (RepeatTapHandle)
- (void)sendAction:(SEL)action to:(nullable id)target forEvent:(nullable UIEvent *)event {
[super sendAction:action to:target forEvent:event];
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[[UIApplication sharedApplication] endIgnoringInteractionEvents];
});
}
@end
阅读全文 »

随着HTML5的不断普及及优化,其在移动端开发的应用也越来越多,在开发者我们经常需要web和native进行交互,也就是要用到经常听到的“JSBridge”。这里我就自己的理解及实践,讲一下什么是JSBridge。

有些朋友听到JSBridge,会觉得是个蛮高大上的东西,好像很厉害很复杂的样子,有了它web和native都能交互了呢。其实并非如此,相信我,JSBridge真的是一个非常非常简单的东西。

阅读全文 »

StoryBoard和Interface Builder为iOS开发带来了极大的便利,今天就给大家介绍一个使用Interface Builder的技巧:
使用xib创建可复用View。

在项目开发中,我们经常需要创建一些可复用的view,比较简单的话代码写写也是很快,但如果比较复杂的话,使用Interface Builder创建一个xib文件来制作就快捷很多,但是传统的方法生成的view只属于xib的File’s Owner, 没有办法复用。

举个例子,项目有多个页面需要使用一个控件(UIView)来展示一张公交卡的信息, 界面如下:

阅读全文 »