게임이 끝나고 iOS 내장된 트위터를 통해서 점수를 보낼 때, 현재 화면을 캡쳐해서 UIImage로 저장하는 방법이다.
- (void)onShareClicked:(id)sender {
NSString *scoreString = [NSString stringWithFormat:@"Just scored %ld.", (long)_score];
SLComposeViewController *tvc = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
[tvc setInitialText:scoreString];
// 여기서 부터가 현재 화면을 UIImage로 캡쳐 하는 방법.
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, scale);
[self.view drawViewHierarchyInRect:self.frame afterScreenUpdates:YES];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[tvc addImage:image];
UIViewController *viewController = [UIViewController new];
[viewController presentViewController:tvc animated:YES completion:nil];
// 컴플리트핸들러 사용 안해서 뷰를 dismiss 안하면 터치 안됨. -_ -; 삽질 함.
tvc.completionHandler = ^(SLComposeViewControllerResult result){
[viewController dismissViewControllerAnimated:YES completion:nil];
};
[self.view addSubview:viewController.view];
}
'iDev > iOS Dev' 카테고리의 다른 글
자신의 App에 별점 평가 위해 Appirater 적용하기 (0) | 2014.02.23 |
---|---|
SpriteKit에 iAd, AdMob 붙이기 (0) | 2014.02.21 |
cocos2d에서 현재 화면 캡처하는 방법 (0) | 2014.02.10 |
AES/CBC/PKCS7Padding 암복호화 (0) | 2013.04.26 |
iOS Font List 싸이트 (0) | 2012.10.16 |