#ios #swift #xcode #uiimagepickercontroller
#iOS #swift #xcode #uiimagepickercontroller
Вопрос:
Я использую гироскоп, чтобы определить, перпендикулярен ли мой ipad (отношение от 88 до 92 градусов) или нет. если это так, то можно сделать снимок. У меня есть что-то вроде красного или зеленого сигнала светофора, чтобы показать разрешение на съемку, но я не могу отключить кнопку захвата, когда горит красный, любая помощь будет оценена
вот мой код
@IBAction func camera1(_ sender: Any) {
var imageView : UIImageView
imageView = UIImageView(frame:CGRect(x:10, y:10, width:50, height:50));
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.allowsEditing = true
imagePicker.sourceType = .camera
imagePicker.cameraCaptureMode = .photo
imagePicker.cameraOverlayView = imageView
imagePicker.cameraViewTransform = imagePicker.cameraViewTransform.scaledBy(x: 3, y: 3);
//Gyroscop
func myGyroscope() {
motion.deviceMotionUpdateInterval = 0.2
motion.startDeviceMotionUpdates(to: OperationQueue()) { (motion, error) -> Void in
if let attitude = motion?.attitude {
// print(attitude.roll * 180 / Double.pi)
DispatchQueue.main.async{
if (((attitude.roll * 180 / Double.pi) * -1) > 88 amp;amp; ((attitude.roll * 180 / Double.pi) * -1) < 92 ){
imageView.image = #imageLiteral(resourceName: "GREEN_Light")//Take picture is permitted
} else{
imageView.image = #imageLiteral(resourceName: "Red_Light")//Take picture is not permitted
}
}
}
}
}
myGyroscope()
present(imagePicker, animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let pickedImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
frontpic.contentMode = .scaleAspectFit
if (picker.sourceType.rawValue == 1){//if camera
frontpic.image = pickedImage.cropedToRatio(ratio: 0.33)
} else{//if album
frontpic.image = pickedImage
}
}
dismiss(animated: true, completion: nil)
}
Ответ №1:
Вы не можете вмешиваться во встроенные элементы управления камерой. Если вам не нравится, как они ведут себя, удалите их и замените свой собственный интерфейс как часть cameraOverlayView
.
Комментарии:
1. да, вы правы, но я не знаю, могу ли я использовать все функции во встроенной камере, такие как автофокусировка или изменение яркости и другие? все функции полезны, кроме этой, которой я хочу управлять. Есть ли какой-либо пример кода? Я такой новичок в ios