在ios中截屏时隐藏视图



嗨,我正在做一个应用程序,因为我在视图n中显示了一个重要的数据。所以每当用户截屏时,我都想隐藏那个特定的视图。所以请让我知道如何在屏幕截图中隐藏特定的视图。

有一种方法可以实现这一点。UITextField具有属性isSecureTextEntry,该属性允许隐藏文本字段的内容以避免屏幕截图。你可以利用它。这就是你可以做的:

  1. 添加UITextField的实例作为子视图
  2. 为文本字段设置isSecureTextEntry = true
  3. 为文本字段设置backgroundColor = .clear
  4. 以首选方式设置约束
  5. 如果你的内容有和元素与用户交互(按钮、滑动等(,那么更好的方法是子类化UITextField并覆盖hitTest(...)函数,这样你的内容就会收到操作
  6. 在文本字段的子视图中查找TextLayoutCanvasView视图的实例,并将您的内容添加为此视图的子视图

如果你需要处理视图控制器,那么最好实现自定义的vc类,它将管理vc生命周期(addChild()didMove()等(

采用这种方法的应用程序正在成功通过审查。GitHub上也有一些基于这种方法的开箱即用的解决方案,但事实上,你自己可以很容易地实现。

最新更新