我模仿微信的按住说话,Button在屏幕底部,我按住button,没有触发touchdown事件。我手指离开时,同时触发touchdown和touchup事件。。
但是 如果我把button 放在屏幕上方一点,比如屏幕中间,就一切正常,按下直接能触发touchdown事件。为什么?
但是 如果我把button 放在屏幕上方一点,比如屏幕中间,就一切正常,按下直接能触发touchdown事件。为什么?
|
1
试下禁用Control Center后是否还会有这个问题?
|
|
2
為什麼不用Gesture 而是用 UIControlEvent 呢...
順路說...iOS 謝謝... |
|
3
|
|
CeeApr 24, 2014
5
ls秀恩爱= =
|
|
txxApr 25, 2014
6
@Cee 這傢伙身體太可怕....太容易掛掉了,不看這點不行。
順便吐槽樓主一句,這也好意思說自己失眠了。我剛解決了一個bug想回來看看樓主有什麼新進展可以討論一下的.. 結果發現是nothing啊... |
|
dorentusApr 25, 2014 via iPad
8
附议楼上,这也叫失眠?
|
|
alexrezitApr 25, 2014
10
@txx
只是 frame 的話 simulator 自帶 layer 著色功能的, 看 responder chain 才用得著 Reveal 吧. |
|
11
感谢各位楼上,我发现问题根源了,uinavigationcontroller自己有interactionpopgesture,如果按钮在底部,恰巧又是在屏幕左边,那么按钮的touchdown事件会失效,也不算失效,就是手指当下去不会立即触发,要手指动一动。
|
|
12
|
|
13
interactionpopgesture的问题,实现UIGestureDelegate的shouldBeRequiredToFailByGestureRecognizer。
|
|
railgunApr 25, 2014
14
怎么搞iOS开发的都是死宅……
|
|
HysteriaApr 25, 2014
16
我还以为是frame问题。
|
|
hongriApr 25, 2014
17
顶
|
|
austinchou0126Apr 25, 2014
18
我只是进来膜拜一下楼上各位的。。。
|
|
robinshi2010Apr 25, 2014
19
通常都是冲突了。当初也掉到这个坑里过。
|
|
xx314327475Apr 25, 2014
21
我为什么点了这个帖子.....额...
|
|
JellyanApr 25, 2014
22
楼主好无辜,完全被忽略了
|
|
23
可以自己实现一个button。
思路:继承一个UIview,当触摸点在这个view上时,触发按下的事件。如果触摸点划出这个范围则响应不是没在触摸区域的事件。 主要玩 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event; - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event; 这三个方法。 AwesomeMenu这个库有具体的实现。看了就明白。 |
|
24
@NUT 樓主發現問題是和iOS7的滑動手勢衝突了。
所以關注點應該是 把滑動返回的 delegate 設到當前頁面 然後處理手勢區域。 不過我還是更推崇用 Gesture,然後iOS 7 多了一些手勢有關的delegate,能更好的處理衝突。 |
|
25
在上班。。。。回去再看看具体怎么解决,前面试了下interactiongesture的代理,手指碰上屏幕就有事件。下面还要判断 是否点在button上。
@NUT 自己写个button太麻烦了,如果好多页面有自定义的button,那要写好多呢。。。。。 我想让navigationcontroller的左滑识别区域不包含屏幕底部,高度大概44. |