যদিও iOS ডিভাইসে প্রোগ্রাম্যাটিকভাবে স্ক্রিনশট নেওয়ার কোনো অফিসিয়াল উপায় প্রদান করে না, তবে এটি একই সময়ে উভয়টি টিপে হোম এবং পাওয়ার বোতাম ব্যবহার করে স্ক্রিনশট নেওয়ার একটি উপায় প্রদান করে৷
একটি স্ক্রিনশট নিতে, আমাদেরকে কয়েকটি ধাপ অতিক্রম করতে হবে।
-
আমরা কী-উইন্ডো-এর স্তর পাব – UIApplication.shared.keyWindow!.layer
-
আমরা পর্দার স্কেল পাব – UIApplication.main.scale
-
ভিউয়ের মতো একই আকারের একটি নতুন ছবি তৈরি করা।
-
রেন্ডার করুন এবং ছবিটি সংরক্ষণ করুন৷
৷
আসুন একটি নতুন প্রজেক্ট তৈরি করি, প্রধান ভিউ কন্ট্রোলারে কিছু ব্যাকগ্রাউন্ড কালার দিন এবং তারপর একটি বোতাম টেনে আনুন এবং এর ক্লাসে একটি অ্যাকশন তৈরি করতে সংযোগ করুন। অ্যাকশনে নিম্নলিখিত কোড যোগ করুন।
@IBAction func takeshot(_ প্রেরক:যেকোনো) { var চিত্র :UIImage? let currentLayer =UIApplication.shared.keyWindow!.layer let currentScale =UIScreen.main.scale UIGraphicsBeginImageContextWithOptions(currentLayer.frame.size, false, currentScale); guard let currentContext =UIGraphicsGetCurrentContext() else {return} currentLayer.render(in:currentContext) image =UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() গার্ড লেট img =image else , }প্রথমবার এটি ব্যবহার করার সময় আপনাকে ছবিটি সংরক্ষণ করার জন্য ফটোর অনুমতি দিতে হবে। সংরক্ষিত ছবি .jpg ফরম্যাটে হবে।
এছাড়াও একটি “NSPhotoLibraryAddUsageDescription” যোগ করুন আপনার অ্যাপের info.plist-এ।
এটি একটি ফাংশনে রূপান্তরিত হতে পারে এবং একাধিক স্থানে ব্যবহার করা যেতে পারে, বা একটি এক্সটেনশন হিসাবে৷
অ্যাপটি দেখতে এইরকম। যখন আপনি এটি চালান।
প্রথমবার দৌড়ানোর পরে এবং টেক শট বোতামে ক্লিক করার পরে
আপনি অ্যাক্সেসের অনুমতি দেওয়ার পরে, আপনার আইফোনের ফটো অ্যাপে যান এবং ছবিটি সেখানে পাওয়া যাবে।