iPhone開發應用 代碼實現截屏功能
作者:佚名
本文介紹的是iPhone開發應用 代碼實現截屏功能,主要分享了iphone中截屏的代碼,我們先來看那內容。
iPhone開發應用 代碼實現截屏功能是本文要介紹的內容,主要是以代碼來講解內容,不多說,我們先來看代碼實現。
iPhone 用戶同時按下 Home 和鎖屏鍵就能截屏,但在應用里總不能跳出一行字讓用戶自己按截屏鍵。CocoaChina 會員 “bobgreen” 分享的這段代碼能實現程序內截屏功能,支持 iPhone 4 Retina 高分屏。
- UIView *view = [[[[[UIApplication sharedApplication] windows] objectAtIndex:1] subviews] lastObject];//獲得某個window的某個subView
- NSInteger index = 0;//用來給保存的png命名
- for (UIView *subView in [view subviews]) {//遍歷這個view的subViews
- if ([subView isKindOfClass:NSClassFromString(@"UIImageView")] || [subView isKindOfClass:NSClassFromString(@"UIThreePartButton")])
- {//找到自己需要的subView
- //支持retina高分的關鍵
- if(UIGraphicsBeginImageContextWithOptions != NULL)
- {
- UIGraphicsBeginImageContextWithOptions(subView.frame.size, NO, 0.0);
- } else {
- UIGraphicsBeginImageContext(subView.frame.size);
- }
- //獲取圖像
- [subView.layer renderInContext:UIGraphicsGetCurrentContext()];
- UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- //保存圖像
- NSString *path = [NSHomeDirectory() stringByAppendingFormat:@"/%d.png",index];
- if ([UIImagePNGRepresentation(image) writeToFile:path atomically:YES]) {
- index += 1;
- NSLog(@"Succeeded!");
- }
- else {
- NSLog(@"Failed!");
- }
- }
- }
小結:iPhone開發應用 代碼實現截屏功能的內容介紹完了,希望本文對你有所幫助。
責任編輯:zhaolei
來源:
互聯網