-- View触摸事件 -- 记录全局所有的View对象(是所有的) AllViews = {} -- View淡入时有几次要屏蔽触摸事件的 local ViewFadeInPreventTouch = {} -- 添加一个View淡入阻止触摸事件 function addPreventTouchByFadeIn(viewName) assert(type(viewName) == "string" and viewName ~= "", "addPreventTouchByFadeIn") viewName = string.upper(viewName) if ViewFadeInPreventTouch[viewName] == nil then ViewFadeInPreventTouch[viewName] = 0 end ViewFadeInPreventTouch[viewName] = ViewFadeInPreventTouch[viewName] + 1; print("View[" .. string.lower(viewName) .. "]增加淡入动画阻止触摸事件,当前阻止次数:" .. ViewFadeInPreventTouch[viewName]) end -- 移除一个View淡入阻止触摸事件 function removePreventTouchByFadeIn(viewName) assert(type(viewName) == "string" and viewName ~= "", "removePreventTouchByFadeIn") viewName = string.upper(viewName) if ViewFadeInPreventTouch[viewName] == nil or ViewFadeInPreventTouch[viewName] <= 0 then ViewFadeInPreventTouch[viewName] = nil print("View[" .. string.lower(viewName) .. "]没有淡入动画阻止事件") return end ViewFadeInPreventTouch[viewName] = ViewFadeInPreventTouch[viewName] - 1; print("View[" .. string.lower(viewName) .. "]移除淡入动画阻止触摸事件,当前阻止次数:" .. ViewFadeInPreventTouch[viewName]) if ViewFadeInPreventTouch[viewName] <= 0 then ViewFadeInPreventTouch[viewName] = nil end end -- 是否有阻止触摸事件 function hasPreventTouchByFadeIn(viewName) assert(type(viewName) == "string" and viewName ~= "", "removePreventTouchByFadeIn") viewName = string.upper(viewName) return ViewFadeInPreventTouch[viewName] ~= nil and ViewFadeInPreventTouch[viewName] > 0 end