当我拍摄截图时,如何删除按钮?我正在使用此代码进行屏幕截图
CGImageRef originalImage = UIGetScreenImage();
CGImageRef videoImage = CGImageCreateWithImageInRect(originalImage, CGRectMake(0, 66, 320, 230));
UIImage *snapShotImage = [UIImage imageWithCGImage:videoImage];
UIImageWriteToSavedPhotosAlbum(snapShotImage, nil, nil, nil);
CGImageRelease(originalImage);
CGImageRelease(videoImage);
答案 0 :(得分:1)
在拍摄屏幕截图之前移除您的按钮,您可以将其框架存储在CGRect中并在 UIGraphicsEndImageContext(); 行
之后再次添加它 CGRect rect = yourButton.frame; // store your buttons frame
[yourButton removeFromSuperView];
UIGraphicsBeginImageContext(self.view.frame.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage=UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
yourButton = [UIButton buttonWithType:UIButtonTypeCustom];
[yourButton setFrame:rect];
[yourButton setImage:[UIImage imageNamed:@"yourButtonImage.png"] forState:UIControlStateNormal];
[yourButton addTarget:self action:@selector(yourButtonAction:) forControlEvents:UIControlEventTouchUpInside];
[self.view yourButton];
答案 1 :(得分:0)
如果按钮图像包含在另一个图像中,这可能会变得非常复杂(然后我会建议您输入全屏并截取屏幕截图)。
如果按钮图像没有直接包含在其他图像中(例如只是一个HTML覆盖图),那么您也可以使用css轻松隐藏它。
但也许有更好的方法比在iOS上制作截图...
答案 2 :(得分:0)
您好,您可以制作像backView这样的视图,然后在按钮上单击调用此代码....
-(IBAction)screenShotBtnPress :(id)sender
{
UIGraphicsBeginImageContext(self.view.window.frame.size);
[BackView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
}
此代码采用BackView的screenShot,为此视图制作IBOutlet,然后将其连接....
答案 3 :(得分:-2)
在截图之前隐藏该按钮。