reactjs - 如何使用 React Native 防止 IOS 中的截图?
问题描述
我正在用 react-native 开发一个应用程序。我只需要防止在 ios 中截屏。我可以通过使用 expo-ScreenCapture 在 android 中制作它,但它在 IOS 上不起作用。在这里,我只需要一种方法来防止 IOS 上的屏幕截图。任何与本机相关的方式对我来说也可以,例如使用 UIApplicationUserDidTakeScreenshot
解决方案
iOS
中的覆盖屏幕AppDelegate.m
,举个例子:
- (void)applicationWillResignActive:(UIApplication *)application {
// fill screen with our own colour
UIView *colourView = [[UIView alloc]initWithFrame:self.window.frame];
colourView.backgroundColor = [UIColor whiteColor];
colourView.tag = 1234;
colourView.alpha = 0;
[self.window addSubview:colourView];
[self.window bringSubviewToFront:colourView];
// fade in the view
[UIView animateWithDuration:0.5 animations:^{
colourView.alpha = 1;
}];
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
// grab a reference to our coloured view
UIView *colourView = [self.window viewWithTag:1234];
// fade away colour view from main view
[UIView animateWithDuration:0.5 animations:^{
colourView.alpha = 0;
} completion:^(BOOL finished) {
// remove when finished fading
[colourView removeFromSuperview];
}];
}
推荐阅读
- php - 如何在 woocommerce 上出现不止一种类型的缺货?
- excel - 尽管变量包含错误值,但仍复制范围
- flutter - 颤动中的 DropCap 文本
- sql - 使用 ms sql server 嵌套 JSON
- c# - .NET Core 3.1 基于角色的 JWT 授权返回 403 禁止
- angular - 带有嵌套数组的角表,“名称”显示在左列中,ngFor
- php - 从字符串中删除电子邮件地址
- google-chrome - Chrome 从 S3 下载 PNG,但从 Imgur 中查看它们
- typescript - 如何在动态 Nestjs 模块中导入 registerAsync?
- android - 不同屏幕的 GridLayout 呈现方式不同