gpt4 book ai didi

ios - 模拟一个 "picture taken"的屏幕闪

转载 作者:技术小花猫 更新时间:2023-10-29 11:03:37 27 4
gpt4 key购买 nike

我有一个模拟拍照的 AV Foundation 应用程序(如相机应用程序)。通常以下对我有用,但在这种情况下不适用。

这段代码在我的 View Controller 中的一个 Action 中执行。它包含一个全屏 UIView (videoPreviewLayer),它附加了一个 AVCaptureVideoPreviewLayer。动画执行但不显示任何内容。另请注意,我使用的是 ARC、iOS 6、iPhone 4S、iPad3。

// Flash the screen white and fade it out
UIView *flashView = [[UIView alloc] initWithFrame:[[self videoPreviewView] frame]];
[flashView setBackgroundColor:[UIColor whiteColor]];
[[[self view] window] addSubview:flashView];

[UIView animateWithDuration:1.f
animations:^{
[flashView setAlpha:0.f];
}
completion:^(BOOL finished){
[flashView removeFromSuperview];
}
];

这是我附加 AVCaptureVideoPreviewLayer 的方式:

 // Setup our preview layer so that we can display video from the camera
captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:self.captureSession];

CALayer *viewLayer = videoPreviewView.layer;
viewLayer.masksToBounds = YES;

captureVideoPreviewLayer.frame = videoPreviewView.bounds;

[viewLayer insertSublayer:captureVideoPreviewLayer below:[[viewLayer sublayers] objectAtIndex:0]];

注意 经过进一步调查,闪光虽然间歇性发生。一般来说,它似乎会在它应该开始后大约 5-10 秒内变得可见。我还看到它连续快速运行两次,即使我只调用了一次代码。

最佳答案

你的代码为 swift3

let shutterView = UIView(frame: cameraView.frame)
shutterView.backgroundColor = UIColor.black
view.addSubview(shutterView)
UIView.animate(withDuration: 0.3, animations: {
shutterView.alpha = 0
}, completion: { (_) in
shutterView.removeFromSuperview()
})

关于ios - 模拟一个 "picture taken"的屏幕闪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12924094/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com