qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          iOS為移動(dòng)中的UIView(UIButton )添加點(diǎn)擊事件

           高高興興迎接新的產(chǎn)品新需求,滿心歡喜的開始工作,結(jié)果研究了一下午才發(fā)現(xiàn),是自己想的太簡單了,是我太單純呀。
            需求是這樣的類似下雪的效果,隨機(jī)產(chǎn)生一些小雪花,然后每個(gè)雪花可以點(diǎn)擊到下個(gè)頁面。
            接到需求之后我的首先想法就是用button實(shí)現(xiàn)不久可以了,多簡單點(diǎn)事情,結(jié)果實(shí)踐之后就知道自己多么的無知了,在移動(dòng)中的button根本沒有辦法接收點(diǎn)擊事件。
            然后同事給出了一種解決辦法,通過手勢(shì)獲取點(diǎn)擊的位置,然后遍歷頁面上的控件,如果在這個(gè)范圍內(nèi)就點(diǎn)擊成功。通過這個(gè)想法我嘗試用frame來實(shí)現(xiàn)需求,然后發(fā)現(xiàn)自己又白癡了,頁面上所有的“雪花”的frame,都是動(dòng)畫結(jié)束的位置,并不是實(shí)時(shí)的位置。
            但是我感到用手勢(shì),然后通過位置,遍歷,這個(gè)思路應(yīng)該是對(duì)的,于是繼續(xù)百度,發(fā)現(xiàn)了一個(gè)好東西
            - (CALayer *)hitTest:(CGPoint)p;
            通過這個(gè)可以得到這個(gè)頁面時(shí)候覆蓋了這個(gè)點(diǎn),這樣就可以解決我的問題了,把手勢(shì)加在“雪花”的父頁面上,然后點(diǎn)擊事件里進(jìn)行處理(當(dāng)然 用這個(gè)方法就沒有必要一定用button)
          -(void)tapClick:(UITapGestureRecognizer *)tap
          {
          CGPoint clickPoint =  [tap locationInView:self];
          for (UIImageView *imageView in [self subviews])
          {
          if ([imageView.layer.presentationLayer hitTest:clickPoint])
          {
          // This button was hit whilst moving - do something with it here
          break;
          }
          }
          }
          }
            這樣就可以解決問題,當(dāng)然應(yīng)該還有其他的方法,歡迎補(bǔ)充。

          posted on 2014-11-26 15:08 順其自然EVO 閱讀(1374) 評(píng)論(0)  編輯  收藏 所屬分類: 測試學(xué)習(xí)專欄android

          <2014年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 曲靖市| 岳阳县| 孟津县| 乐东| 繁峙县| 阜平县| 余庆县| 伊宁县| 山东省| 周宁县| 丹凤县| 武强县| 虎林市| 福州市| 湛江市| 思南县| 兰考县| 崇义县| 临西县| 巴林右旗| 建昌县| 全椒县| 香港| 平山县| 若羌县| 绵竹市| 高密市| 凌海市| 六枝特区| 平顶山市| 禄丰县| 丽水市| 胶州市| 阿图什市| 九寨沟县| 南城县| 宁晋县| 武汉市| 田东县| 萨迦县| 涿鹿县|