2015-01-06 13 views
6

Tôi đang cố gắng để có được một hình ảnh của toàn bộ màn hình khi người dùng nhìn thấy nó. Mã sau đây sẽ hoạt động tuy nhiên nó sẽ chỉ hoạt động trong trình mô phỏng. Tôi phải làm gì để làm việc này trên thiết bị chạy iOS 8.1?snapshotViewAfterScreenUpdates trên UIScreen cung cấp ảnh chụp nhanh trống trên thiết bị

UIView *snapshot = [[UIScreen mainScreen] snapshotViewAfterScreenUpdates:YES]; 
CGSize outputSize = CGSizeMake([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height); 
UIGraphicsBeginImageContextWithOptions(outputSize, NO, 0); 
[snapshot drawViewHierarchyInRect:CGRectMake(0.0, 0.0, outputSize.width, outputSize.height) afterScreenUpdates:YES]; 
UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

Vui lòng thử chiến lược thay thế nhưng điều quan trọng là tôi muốn nó khi người dùng nhìn thấy - bàn phím và tất cả.

Cheers

Trả lời

1
UIGraphicsBeginImageContextWithOptions(CGSizeMake(CGRectGetWidth(self.view.frame), CGRectGetHeight(self.view.frame)), NO, 1.0f); 
     [self.view drawViewHierarchyInRect:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), CGRectGetHeight(self.view.frame)) afterScreenUpdates:NO]; 
     UIImage *snapshotImage = UIGraphicsGetImageFromCurrentImageContext(); 
+0

Đáng tiếc là nó không phải là đơn giản. Tôi muốn toàn bộ màn hình khi người dùng nhìn thấy nó - điều này làm cho chế độ xem có nghĩa là ngay cả khi bạn sử dụng chế độ xem gốc, bạn vẫn sẽ thiếu thanh trạng thái và bàn phím (do đó tôi đang cố gắng sử dụng phương pháp của UIScreen). –

+0

Đối với những người Google, điều này đã khắc phục được sự cố chụp màn hình đen mà tôi gặp phải với WKWebView. – ninjaneer

Các vấn đề liên quan