gpt4 book ai didi

iphone - 在 UIImagePickerController 中隐藏快门

转载 作者:搜寻专家 更新时间:2023-10-30 19:47:17 24 4
gpt4 key购买 nike

我为 iPhone 应用程序中的相机 View 设计了一个虹膜快门动画。

不幸的是,即使我隐藏相机控件并创建自定义 cameraOverlayView,似乎也无法在 View 出现时隐藏 Apple 的快门。

当 View 出现时,我通过使用 UIImagePickerController 的 viewWillAppear 和 viewDidAppear 方法在普通快门之上设置我的快门动画来解决这个问题。但是,我无法在第一次通过时将百叶窗隐藏在我的百叶窗下。当应用程序启动时,它会显示相机 View ,并且可以看到原始快门。在 cameraController 的所有后续 View 中,我的解决方法都有效。有什么建议吗?

这是我的代码。这是来 self 的应用程序委托(delegate):

- (void)applicationDidFinishLaunching:(UIApplication *)application {   

cameraController = [[CameraController alloc] initWithMode:@"camera"];
[window addSubview:cameraController.view];

}

这是我的 UIImagePickerController 子类:

- (void) viewWillAppear:(BOOL)animated {

if (self.sourceType != UIImagePickerControllerSourceTypePhotoLibrary || simulatorView) {
[self addShutter];
[shutter close];
}
[super viewWillAppear:animated];

}


- (void) viewDidAppear:(BOOL)animated {

if (self.sourceType != UIImagePickerControllerSourceTypePhotoLibrary || simulatorView) {
[shutter openShutter:.5f];
}
[super viewDidAppear:animated];

}

最佳答案

请注意,文档说不支持子类化 UIImagePickerController,因此它在某些情况下可能有效,但并不“安全”。不确定它是否会被应用商店拒绝。 (可能取决于他们的静态代码验证工具有多挑剔。)

我真的没有很好的答案,但你可以尝试 1) 遍历选取器主视图的 subview ,看看你是否可以识别用于为快门设置动画的任何内容,然后对其进行处理,以便它不会显示,或者 2) 对于初始动画,仅在另一个不透明的黑色 View 下显示初始图像选择器主视图。不确定用户指定的叠加 View 是否适用于此,但您可以在不进行子类化的情况下执行这些操作。

搜索未记录的 subview 是另一件理论上不安全的事情,因为谁知道 future 的实现可能会如何改变。

关于iphone - 在 UIImagePickerController 中隐藏快门,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2010602/

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