Я хотел бы реализовать что-то вроде сделанного в приложении для камеры iOS - когда пользователь делает снимок, экран мигает темным цветом в течение секунды секунды.Дисплей экрана, как приложение для камеры iOS
Я использую UIImagePicker с наложением и хочу добавить второй вид сверху.
Вот код:
TOP:
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate,
UIGestureRecognizerDelegate {
var cameraUI:UIImagePickerController = UIImagePickerController()
var overlay:UIImageView!
ПРЕДСТАВЛЕНИЕ КАМЕРЫ:
func presentCamera()
{
cameraUI = UIImagePickerController()
cameraUI.delegate = self
cameraUI.sourceType = UIImagePickerControllerSourceType.Camera
cameraUI.mediaTypes = [kUTTypeImage]
cameraUI.allowsEditing = false
cameraUI.showsCameraControls = false
var translate = CGAffineTransformMakeTranslation(0.0, 71.0); //This slots the preview exactly in the middle of the screen by moving it down 71 points
cameraUI.cameraViewTransform = translate;
var scale = CGAffineTransformScale(translate, 1.333333, 1.333333);
cameraUI.cameraViewTransform = scale;
self.presentViewController(cameraUI, animated: true, completion: nil)
overlay = UIImageView(frame: CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height))
var image = UIImage(named: "bg.png")
overlay.image = image
overlay.userInteractionEnabled = true
overlay.alpha = 1.0
cameraUI.cameraOverlayView = overlay
let recognizer = UITapGestureRecognizer(target: self, action:Selector("tapped:"))
recognizer.delegate = self
recognizer.numberOfTapsRequired = 1
overlay.addGestureRecognizer(recognizer)
}
вспышки экрана: вызывается, когда пользователь делает снимок
func flashScreen() {
let flashView : UIView = UIView(frame: CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height))
flashView.alpha = 0.0
flashView.backgroundColor = UIColor.blackColor()
print("flash")
overlay.addSubview(flashView)
// self.view.addSubview(flashView) doesn't work either
I не вижу никого г
Я также попытался изменить изображение наложения, которое не похоже на работу либо:
// overlay.alpha = 0.0
// overlay.image = UIImage(named: "flash.png")
// cameraUI.cameraOverlayView = overlay
Я заметил 'flashView.alpha = 0.0', что означает, что он прозрачен. Разве это не должно быть 1,0? –
О, мальчик, это может быть так. Я попробую, когда вернусь домой. Спасибо :) – Jonovono
@rFessler. Это сработало! Большое спасибо. Если вы напишете это как ответ, я отправлю. – Jonovono