有没有办法模拟在iOS模拟器上拍摄屏幕截图(相当于家用+设备上电)?我的目标不是保存(cmd + s)或复制屏幕截图(来自模拟器菜单项),而是捕获UIApplicationUserDidTakeScreenshotNotification事件。
答案 0 :(得分:4)
不,目前在iOS模拟器中无法实现。
答案 1 :(得分:0)
我也无法检测到UIApplicationUserDidTakeScreenshotNotification,但为什么不使用此代码拍摄屏幕截图并使用条件检测它们。
// // TAKE SCREENSHOT
CGRect myRect = [self.view bounds];
UIGraphicsBeginImageContext(myRect.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
[[UIColor blackColor] set];
CGContextFillRect(ctx, myRect);
[self.view.layer renderInContext:ctx];
UIImage *viewimage = UIGraphicsGetImageFromCurrentImageContext();
NSData *imageData = UIImageJPEGRepresentation(viewimage, 1.0);
if(imageData!=NULL)
{
NSLog(@"user saved the image");
//Here you can detect the screen shots
[self.imagevieww setImage:[UIImage imageWithData:imageData]];
}
else
{
NSLog(@"user dont want to save image");
}
UIGraphicsEndImageContext();