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應用程式 實現截屏功能的內容介紹完了,內容很少,基本是代碼實現的,是不是很有趣的一個執行個體,最後希望本文對你有所協助。
本文來自:http://www.cocoachina.com/iphonedev/sdk/2011/0323/2731.html