स्विफ्ट में हमारे डिफ़ॉल्ट 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+ पर चलाता हूं, तो नीचे दिया गया परिणाम होता है।