সুইফটে আমাদের ডিফল্ট UIView-এ একটি লাইভ ক্যামেরা প্রিভিউ যোগ করতে আমরা হয় iOS SDK-এর AVFoundation ফ্রেমওয়ার্ক বা নেটিভ UIImagePickerController() ব্যবহার করতে পারি। এই উদাহরণে আমরা ImagePicker ব্যবহার করব কারণ আমাদের লক্ষ্য হল UIView-এ ক্যামেরা প্রিভিউ উপস্থাপন করা এবং Imagepicker সেই কাজের জন্য উপযুক্ত। আমাদের ক্যামেরায় অনেক কাস্টমাইজেশন বা বিভিন্ন ধরনের কাস্টম অ্যাকশনের প্রয়োজন হলে AVFoundation ব্যবহার করা যেতে পারে।
UIView-এ একটি ক্যামেরা প্রিভিউ দেখাতে আমাদের নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করতে হবে৷
-
একটি UIImagePickerController অবজেক্ট তৈরি করুন।
-
আমাদের ক্লাসকে UIImagePickerControllerDelegate এবং UINavigationControllerDelegate-এর সাথে সামঞ্জস্য করুন।
-
প্রথম ধাপে আমরা যে বস্তুটি তৈরি করেছি তাতে প্রতিনিধিদের বরাদ্দ করুন।
-
আমরা একটি শিশু হিসাবে তৈরি করা বস্তু যোগ করুন
-
আমাদের UIView-এ একটি সাবভিউ হিসেবে সন্তানের ভিউ যোগ করুন।
এটি অর্জন করতে আমরা নীচের কোডটি ব্যবহার করব
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib
let imgPicker = UIImagePickerController()
if UIImagePickerController.isCameraDeviceAvailable( UIImagePickerController.CameraDevice.front) {
imgPicker.delegate = self
imgPicker.sourceType = .camera
addChild(imgPicker)
self.view.addSubview(imgPicker.view)
imgPicker.view.frame = self.view.bounds
imgPicker.allowsEditing = false
imgPicker.showsCameraControls = false
imgPicker.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
}
} এই উদাহরণের জন্য আমরা কোনও ফাংশন লিখিনি এবং আমরা এখানে সরাসরি বস্তু তৈরি করেছি, তবে এমন পরিস্থিতিতে অলস ভেরিয়েবল ব্যবহার করা সর্বদা একটি ভাল পছন্দ যেখানে আমাদের কিছু পরিবর্তনশীল ব্যবহার করার প্রয়োজন নাও হতে পারে।
এই কোডটি সিমুলেটরে কাজ করবে না কারণ এটি ক্যামেরা ব্যবহার করে। যখন আমি একটি iPhone 7+ এ উপরের কোডটি চালাই, তখন নিচের ফলাফলটি উত্পাদিত হয়৷
৷
