আইওএস 7 এর একটি নতুন পদ্ধতি রয়েছে যা আপনাকে বর্তমান গ্রাফিক্স প্রসঙ্গে একটি ভিউ হায়ারার্কি আঁকার অনুমতি দেয়। এটি খুব দ্রুত একটি ইউআইআইমেজ পেতে ব্যবহার করা যেতে পারে।
আমি UIView
এই হিসাবে ভিউ পেতে একটি বিভাগ পদ্ধতি প্রয়োগ করেছি UIImage
:
- (UIImage *)pb_takeSnapshot {
UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, [UIScreen mainScreen].scale);
[self drawViewHierarchyInRect:self.bounds afterScreenUpdates:YES];
// old style [self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
এটি বিদ্যমান renderInContext:
পদ্ধতির পরে যথেষ্ট দ্রুত ।
তথ্যসূত্র: https://developer.apple.com/library/content/qa/qa1817/_index.html
সুইফটের জন্য আপডেট করুন : একটি এক্সটেনশন যা একই কাজ করে:
extension UIView {
func pb_takeSnapshot() -> UIImage {
UIGraphicsBeginImageContextWithOptions(bounds.size, false, UIScreen.mainScreen().scale)
drawViewHierarchyInRect(self.bounds, afterScreenUpdates: true)
// old style: layer.renderInContext(UIGraphicsGetCurrentContext())
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
}
সুইফট 3 এর জন্য আপডেট করুন
UIGraphicsBeginImageContextWithOptions(bounds.size, false, UIScreen.main.scale)
drawHierarchy(in: self.bounds, afterScreenUpdates: true)
let image = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return image