有没有人知道如何检查两个视图(父容器的子视图)是否与react native重叠?
如果我不是一个超级紧张的操作(即测量所有视图等)也会很好,因为我希望它能够经常完成。
非常感谢任何想法! :)
编辑: 我意识到我的问题非常普遍,所以我会尝试让它更清晰。
我想要实现的是某种观察器功能,用于检测两个视图之间的碰撞,这些视图可以在重新渲染时改变位置。
例如(抱歉,由于代表太低,我无法嵌入图片): Scenario
在上图中,两个视图可以改变特定事件的位置,而且当这两个视图重叠时我需要回调。
答案 0 :(得分:1)
这是一个非常通用的问题......但我确实有一些提示来自我对反应原生的经验。通常当您无法在视图中看到组件时,原因如下:
如果组件是flexbox /内部组件 - 有时添加以下组合有助于:
flex: 1
justifyContent: 'center',
alignItems, 'center',
flexDirection: 'row'
我无法解释,但我有多次出现我删除了flex: 1
属性并且它有所帮助,请确保检查。
确保实际返回复杂内循环中的项目。例如:
WRONG:
myList.map( (item) => { return <View>{item}</View> } )
正确:
return myList.map( (item) => { return <View>{item}</View> } )