嗨,我正在做一个应用程序,因为我在视图n中显示了一个重要的数据。所以每当用户截屏时,我都想隐藏那个特定的视图。所以请让我知道如何在屏幕截图中隐藏特定的视图。
有一种方法可以实现这一点。UITextField
具有属性isSecureTextEntry
,该属性允许隐藏文本字段的内容以避免屏幕截图。你可以利用它。这就是你可以做的:
- 添加
UITextField
的实例作为子视图 - 为文本字段设置
isSecureTextEntry = true
- 为文本字段设置
backgroundColor = .clear
- 以首选方式设置约束
- 如果你的内容有和元素与用户交互(按钮、滑动等(,那么更好的方法是子类化UITextField并覆盖
hitTest(...)
函数,这样你的内容就会收到操作 - 在文本字段的子视图中查找
TextLayoutCanvasView
视图的实例,并将您的内容添加为此视图的子视图
如果你需要处理视图控制器,那么最好实现自定义的vc类,它将管理vc生命周期(addChild()
、didMove()
等(
采用这种方法的应用程序正在成功通过审查。GitHub上也有一些基于这种方法的开箱即用的解决方案,但事实上,你自己可以很容易地实现。