2014-11-07 2 views
0

Я хотел бы реализовать что-то вроде сделанного в приложении для камеры 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 
+1

Я заметил 'flashView.alpha = 0.0', что означает, что он прозрачен. Разве это не должно быть 1,0? –

+0

О, мальчик, это может быть так. Я попробую, когда вернусь домой. Спасибо :) – Jonovono

+0

@rFessler. Это сработало! Большое спасибо. Если вы напишете это как ответ, я отправлю. – Jonovono

ответ

1

Я заметил flashView.alpha = 0.0, что означает, что это прозрачно. Установите значение 1.0.