iOS 中捕获截屏操作

转自:iOS知识小集

在iOS 7后,苹果提供了UIApplicationUserDidTakeScreenshotNotification通知来告诉App用户做了截屏操作。苹果的描述如下:

// This notification is posted after the user takes a screenshot (for example by pressing both the home and lock screen buttons)
UIKIT_EXTERN NSString *const UIApplicationUserDidTakeScreenshotNotification NS_AVAILABLE_IOS(7_0);

我们要使用这个通知,只需要在相应的界面或者AppDelegate中往通知中心添加该通知的观察者即可。例如我在AppDelegate中添加观察者为自己:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(takeScreenShot:) name:UIApplicationUserDidTakeScreenshotNotification object:nil];
    return YES;
}

然后在对应Selector 中处理逻辑:

- (void)takeScreenShot:(NSNotification *)notice
{
    NSLog(@"截图");
    // 这里其实可以从相册读取最新的一张图,那就是刚才的截屏图片
}

打印出来通知的信息如下:

2016-11-12 13:46:55.750 Demo[6376:2821166] 截图
Printing description of notice:
NSConcreteNotification 0x15668df0 {name = UIApplicationUserDidTakeScreenshotNotification; object = <UIApplication: 0x15555550>}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值