ugui层级关系的Canvas遮挡无法触发按钮怎么办
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ugui层级关系的Canvas遮挡无法触发按钮怎么办相关的知识,希望对你有一定的参考价值。
参考技术A 在添加Canvas组件的节点上,挂上一个GraphicRaycaster组件,然后将其中的BlockingMask设置为UI即可。 参考技术B 一个GameObject,添加了Button的Componet就有button的功能,添加了Image的Component就有了image的功能,两者不互斥的。小程序原生组件层级遮挡其他组件问题
这学习小程序中,仿做其他项目时遇到这种情况,video标签把自定义的导航栏(非小程序的tabBar),在把导航栏的z-index:9999也无济于事,这是因为video等原生组件的层级是最高的,所以无论所以页面中的其他组件无论设置 z-index
为多少,都无法盖在原生组件上(后插入的原生组件可以覆盖之前的原生组件)
好在小程序为我们提供了解决这个问题的办法,那就是cover-view和cover-image组件,可以覆盖在部分原生组件上面。这两个组件也是原生组件,但是使用限制与其他原生组件有所不同
cover-view组件里面只能嵌套cover-view和cover-image组件,嵌套其他的组件如view组件,那么view 标签的子节点树在真机上都会被忽略
文档说明:https://developers.weixin.qq.com/miniprogram/dev/component/native-component.html
使用cover-view后的效果
但是这样又会出现一个新问题,那就是当导航栏使用position:fixed定位,视频全屏播放的时候,导航栏会出现在视频上方,效果
解决方法
1、导航栏不使用定位
2、不使用cover-view组件,在渲染页面的时候我们使用view视频的封面,当点击播放的时候把view封面隐藏,播放视频,视频播放完毕后再把视频隐藏、封面显示,但是播放视频时还是存在开始所提到的问题
以上是关于ugui层级关系的Canvas遮挡无法触发按钮怎么办的主要内容,如果未能解决你的问题,请参考以下文章