gpt4 book ai didi

iphone - 隐藏/显示 iPhone 相机光圈/快门动画

转载 作者:太空狗 更新时间:2023-10-30 03:26:38 26 4
gpt4 key购买 nike

我无法为我的应用程序隐藏 iphone 相机快门打开动画。我正在使用 UIImagePickerController 访问 iphone 相机并使用我自己的覆盖 Controller 。有没有办法在相机启动时删除初始快门(也称为虹膜)动画。谢谢你

[编辑]

对于那些想知道如何改变相机光圈动画的人。

在相机虹膜动画开始之前调用以下函数。

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
// Here is were I make the camera preview fit the entire screen.
// This might violate the "don't change the view hierarchy"-rule.
// So I am not sure if it is valid for App Store commitment.
// However, the NSLogs are used to
// figure out which subview is the actual Camera Preview which turns out
// to be the PLPreviewView. (uncomment to se the printouts).
// Change it's size to fit the entire screen (and scale it accordingly
// to avoid distorted image

NSLog(@"WillShowViewController called...");

NSLog(@"VC:view:subviews\n %@\n\n", [[viewController view] subviews]);

NSLog(@"VC:view:PLCameraView:subviews\n %@\n\n", [[[[viewController view] subviews] objectAtIndex: 0] subviews]);

NSLog(@"VC:view:PLCameraView:PLPreviewView:subviews\n %@\n\n", [[[[[[viewController view] subviews] objectAtIndex: 0] subviews] objectAtIndex: 0] subviews]);
NSLog(@"VC:view:PLCameraView:PLCropOverLay:subviews\n %@\n\n", [[[[[[viewController view] subviews] objectAtIndex: 0] subviews] objectAtIndex: 1] subviews]);
NSLog(@"VC:view:PLCameraView:UIImageView:subviews\n %@\n\n", [[[[[[viewController view] subviews] objectAtIndex: 0] subviews] objectAtIndex: 2] subviews]);

}

在上面的函数中,您可以使用普通的 NSMuatableArray 语法(如 objectAtIndex)遍历每一层

希望这对你有帮助。

问候,

安库尔

最佳答案

使用 this answer作为起点,我终于解决了这个问题:

注意:这显然不符合 3.3.1 标准。

  1. 在您的 UIImagePickerController 上监听 UINavigationControllerDidShowViewControllerNotification,并全局监听 PLCameraViewIrisAnimationDidEndNotification

  2. 遍历 View 层次结构(从主 UIWindow 开始)寻找 PLCameraView。保存针对主 UIWindow 的 View 索引,因为您稍后会需要它。

  3. superView 中移除 PLCameraView。如果需要,在全局索引 0 处插入您自己的 View 。

  4. 虹膜动画完成后,移除 View 并在其原始索引处重新添加 PLCameraView

关于iphone - 隐藏/显示 iPhone 相机光圈/快门动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3138502/

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