Một UIImageVIew
(imageView
) sẽ được thêm vào self.view
, nắm bắt được cái nhìn vào album hoạt động hoàn hảo:renderInContext không chụp subviews xoay
CGSize size = CGSizeMake(self.view.frame.size.height, self.view.frame.size.width);
UIGraphicsBeginImageContext(size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);
Tuy nhiên, nếu subview imageView
được quay bởi:
[CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
Chụp lại self.view
không phản ánh vòng quay. Các subview imageView
là nếu không quay.
Cách tạo renderInContext
hoạt động với các bản xem trước được xoay bởi CABasicAnimation
?
UPDATE:
Cảnh báo: CALayer/-renderInContext: phương pháp không thực hiện đầy đủ mô hình thành phần Core Animation. Mã được cung cấp bên dưới sẽ là có thể giải quyết hầu hết các tình huống, nhưng có những thứ mà phương pháp CALayer/-renderInContext: không hiển thị chính xác, vì vậy bạn có thể muốn liên hệ với bộ phận Hỗ trợ kỹ thuật dành cho nhà phát triển để yêu cầu giải pháp.
chính thức của Apple kỹ thuật Q & Một QA1703 đề nghị liên hệ với nhà phát triển Hỗ trợ kỹ thuật cho các yêu cầu khắc phục.
Có cách giải quyết nào đã tồn tại không?
Làm thế nào để _rotate các context_ đồ họa có thể được công nhận bởi 'renderInContext'? – ohho
'CGContextRotateCTM (ngữ cảnh, góc)' –
Tôi đang tìm một ảnh chụp màn hình ở mức cao hơn (như chụp màn hình kết hợp phím nguồn ở nhà). Vì có nhiều bản xem phụ bên trong các bản xem phụ được xoay vòng bằng 'CABasicAnimation' ... – ohho