gpt4 book ai didi

iphone - 快门动画上方的 cameraOverlayView

转载 作者:可可西里 更新时间:2023-11-01 05:48:16 25 4
gpt4 key购买 nike

我有一个透明 View ,上面使用 CoreGraphics 绘制了一个矩形。当相机启动时,自定义叠加 View 位于快门动画上方。您看到的是标准相机快门,上面有自定义矩形。我如何让它在正确的位置,在快门动画下面?我看过其他示例代码,但它是针对 OS 3.1 的,似乎没有任何不同之处。

这是我的代码:

-(IBAction)cameraButton{
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerCameraDeviceRear]){

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;

//Add the OverlayView with the custom Rectangle
CGRect overlayFrame = CGRectMake(0.0f, 0.0f, 320.0f, 480.0f);
OverlayView *overlayView = [[OverlayView alloc]initWithFrame:overlayFrame];
picker.cameraOverlayView = overlayView;
[overlayView release];

[self presentModalViewController:picker animated:YES];
[picker release];
}
}

最佳答案

在 iPad 上不存在这个问题,覆盖 View 默认在快门动画后面。但在 iPhone 上,叠加层出现在前面。

我找到了适合我的解决方案。

您必须在此方法中将叠加 View 设置为 subview :

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
if (!viewController)
return;

UIView* controllerViewHolder = viewController.view;
UIView* controllerCameraView = [[controllerViewHolder subviews] objectAtIndex:0];
UIView* controllerPreview = [[controllerCameraView subviews] objectAtIndex:0];
[controllerCameraView insertSubview:self.overlayView aboveSubview:controllerPreview];
}

希望对你有帮助

原始出处: http://www.alexcurylo.com/blog/2009/06/18/uiimagepickercontroller-in-3-0/

关于iphone - 快门动画上方的 cameraOverlayView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5439130/

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