iOS 禁止截屏(截屏时,隐藏其页面内容)

手机截屏是手机系统操作,app是无法阻止这个操作的。

那么为了防止app内容被截屏我们可以通过UITextfeild控件的secureTextEntry属性来实现截屏空白页面,其原理就是利用了开启安全文本输入属性,将需要隐藏的内容添加到UITextfeild的子视图上,就可以达到此效果。

但是此方法只能iOS13以上使用。

创建UITextField,设置secureTextEntry = yes,签代理UITextFieldDelegate


    self.textTF = [[UITextField alloc]initWithFrame:self.view.bounds];

    [self.view addSubview:self.textTF];

    self.textTF.backgroundColor = [UIColor whiteColor];

    self.textTF.secureTextEntry = yes;

    self.textTF.delegate=self;


//将想要隐藏的内容添加到UITextField的子视图上

    UIView*theView = self.textTF.subviews.firstObject;

    [self.view  addSubview:theView];


    self.proImg = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"proImg"]];

    [theView  addSubview:self.proImg];

    self.proImg.frame=CGRectMake(0,0,200,200);

    self.proImg.center = self.view.center;


#pragma mark - UITextFieldDelegate

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {

    return NO;

}

截图前效果:

截图

真机截图后效果:


你可能感兴趣的:(iOS 禁止截屏(截屏时,隐藏其页面内容))