Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
YYWDark authored Apr 14, 2017
1 parent bf92b96 commit 6f3b306
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
1.重用机制。
2.弹幕的点击响应。

###如何实现点击效果
### 如何实现点击效果
我们知道一部电影的弹幕可能有千千万条,我想你肯定不想初始化那么多视图,所以重用机制是非常必要性的。至于弹幕的点击响应,你可能尝试过在视图动画的时候为UIview添加手势或者直接调用touchesBegan,但发现并没有什么用。所以我们这里是采用其他的方式实现弹幕的响应:
1.将控制器里面拿到的point点回调给管理类`MMDanmakuManger`
```
Expand All @@ -20,7 +20,7 @@ self.manger.tapBlock(point);
2.我们在弹幕控件中我们会根据显示的区域(可以根据配置类topMargin,bottomMargin调整显示区域),和每个弹幕的高度`eachBulletViewHeight`,把显示的区域划分为一条条弹道。管理类会持有`displayingDic`,来记录每个显示区域每个弹道上的视图。这个时候你需要知道对于视图的presentationLayer 和 layer之间的关系。简单来说就是做UIView frame改变动画,你发现layer只有开始值和结束值,而presentationLayer会持续显示过程值。你可以点击[这里](http://www.jianshu.com/p/1efb0238c1dd)来进一步了解之间额关系。然后根据弹道的key来取`displayingDic`的视图数组,判断该点是否在该视图的presentationLayer frame里面。


###控件
### 控件
![控件结构图.png](http://upload-images.jianshu.io/upload_images/307963-3715524d96791ae9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
初始化方式:
```
Expand Down Expand Up @@ -62,7 +62,7 @@ Demo中利用定时器来模仿用户输入追加数据:
[self.manger appendData];
```

###控件效果
### 控件效果

![效果图.gif](http://upload-images.jianshu.io/upload_images/307963-279c0632b9a1f388.gif?imageMogr2/auto-orient/strip)
![效果图.gif](http://upload-images.jianshu.io/upload_images/307963-0bd80e4175d9f925.gif?imageMogr2/auto-orient/strip)
如果你喜欢欢迎like和star

0 comments on commit 6f3b306

Please sign in to comment.