在屏幕的某些部分禁用用户交互
Disable user interaction in some part of screen
我通过容器视图创建侧边菜单,当用户点击栏按钮(菜单按钮)时,我只是更改约束并显示或隐藏侧边菜单。但是当侧面菜单打开时,用户可以使用所有屏幕中的元素。当侧面菜单打开或隐藏时,如何禁用或仅启用部分屏幕?
假设您的侧边菜单的视图层次结构是这样设置的:
View #1
|_ title label
|_ button
|_ button
您现在可以将它嵌入到另一个视图中,这将是不可见的:
View #0
|_ View #1
|_ title label
|_ button
|_ button
...其中视图 #1 将是您的常规侧边菜单视图,例如覆盖屏幕宽度的 70%。
现在,将视图 #0 的背景颜色设置为 .clear
.
此外,更改约束逻辑以将侧边菜单移动到屏幕边缘。
这将为您提供一个覆盖全屏的侧边菜单,禁用其外部的点击,看起来它只覆盖部分屏幕。
加分:
添加 UITapGestureRecognizer
以查看 #0。触发后,您可以关闭侧边菜单。
我通过容器视图创建侧边菜单,当用户点击栏按钮(菜单按钮)时,我只是更改约束并显示或隐藏侧边菜单。但是当侧面菜单打开时,用户可以使用所有屏幕中的元素。当侧面菜单打开或隐藏时,如何禁用或仅启用部分屏幕?
假设您的侧边菜单的视图层次结构是这样设置的:
View #1
|_ title label
|_ button
|_ button
您现在可以将它嵌入到另一个视图中,这将是不可见的:
View #0
|_ View #1
|_ title label
|_ button
|_ button
...其中视图 #1 将是您的常规侧边菜单视图,例如覆盖屏幕宽度的 70%。
现在,将视图 #0 的背景颜色设置为 .clear
.
此外,更改约束逻辑以将侧边菜单移动到屏幕边缘。
这将为您提供一个覆盖全屏的侧边菜单,禁用其外部的点击,看起来它只覆盖部分屏幕。
加分:
添加 UITapGestureRecognizer
以查看 #0。触发后,您可以关闭侧边菜单。