兩個scroll重疊,且滑動方向相反

1. 功能介紹

父scroll里包含多個子scroll,父scroll滑動為上下,子scroll滑動為左右。
為了防止在上下滑動父scroll時,出現(xiàn)子scroll左右滑動的情況,寫了以下的解決方法

2.解決方法

父子scroll都新增scroll監(jiān)聽函數(shù)

2.1 子scroll方向檢測

在子scroll滑動的時候,子scroll左右滑動的距離超過我們定義的最小水平距離(self.judgeHMove),且同時上下滑動的距離小于我們定義的最小垂直距離(self.judgeVMove),那么就認(rèn)定子scroll在做橫向偏移,反之縱向

if math.abs(touchDisX) >= self.judgeHMove and self.isMoveV == false 
                    and math.abs(touchDisY) < self.judgeVMove then
        self.isMoveH  = true                            
end
2.2 子scroll判斷吞噬

如果判斷為橫向移動,觸摸吞噬,不傳遞給父scroll,這樣子scroll橫向滑動的時候父scroll就不會發(fā)生略微的縱向滑動
如果判斷為縱向移動,子scroll設(shè)置為不可觸摸狀態(tài),這樣父scroll縱向移動時,子scroll不會發(fā)生滑動

if self.isMoveH == true then  
   self.scroll:setSwallowTouches(true)
elseif self.isMoveV  == true then
   self.scroll:setSwallowTouches(false)
   self.scroll:setTouchEnabled(false)
end
2.3 父類scroll觸摸檢測

當(dāng)父類移動結(jié)束后,我們需要去調(diào)用子類的函數(shù)將剛才設(shè)置的子scroll的不可觸摸轉(zhuǎn)為可觸摸

    if type == ccui.TouchEventType.ended then
        for i,v in ipairs(self.giftItemOcxs) do
            if v.onParentScrollEvent then
                v:onParentScrollEvent(target, type)
            end
        end
    elseif type == ccui.TouchEventType.canceled then
        for i,v in ipairs(self.giftItemOcxs) do
            if v.onParentScrollEvent then
                v:onParentScrollEvent(target, type)
            end
        end
    end
2.3 子類的回調(diào)函數(shù)
    if event == ccui.TouchEventType.ended then
        if self.isMoveV then
            self.scroll:setTouchEnabled(true)
            self.scroll:setSwallowTouches(false)
            self.isMoveV       = false
            self.isMoveH       = false
        end
    elseif event == ccui.TouchEventType.canceled then
        if self.isMoveV then
            self.scroll:setTouchEnabled(true)
            self.scroll:setSwallowTouches(false)
            self.isMoveV       = false
            self.isMoveH       = false
        end
    end
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,210評論 3 119
  • 【蘿鼓萱天】20170923 學(xué)習(xí)力踐行記錄 day131 今天我加了一天班,晚上萱兒又去姑姑家過夜了,踐行很少。...
    眸眸_50ae閱讀 306評論 0 0
  • 紅樓夢里的丫鬟襲人,現(xiàn)在從紅學(xué)的泰斗到普通的愛好者,都基本上是不喜歡她的,對她頗有微詞,甚至把她當(dāng)反面教材來對待,...
    歌館樓臺閱讀 745評論 3 3
  • 她是一個保姆。 這個孤僻、神經(jīng)質(zhì)、冷靜、警惕、敏感的女人,整天忙于照看雇主的孩子,把屎把尿,還要日復(fù)一日地打掃衛(wèi)生...
    萌叉叉閱讀 390評論 0 0
  • 我從來沒想過,有一天我會扯著嗓子在人來人往的超市中叫賣著商品,攔客,陪笑,而毫不害羞,可是,今天的我做到了,我...
    烈酒不烈閱讀 215評論 0 2

友情鏈接更多精彩內(nèi)容