gpt4 book ai didi

ios - 从相机方法调用 unwind segue 失败

转载 作者:行者123 更新时间:2023-12-01 18:58:12 26 4
gpt4 key购买 nike

我的 unwind segue 代码运行良好。我使用 Storyboard来连接事情。当我运行该应用程序时,一切都很好。

但除了单击按钮之外,我还想从代码中展开。基本上我正在展示一个包含两个按钮的模式:相机 , 画廊 .用户单击其中一个按钮以从相机或图库中获取图像。所以一旦获得图像,我就不再需要模态视图了。因此,作为方法的最后一步(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info ,我将我的放松转场称为

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
//... do work here and then
[self performSegueWithIdentifier:@"myUnwindName" sender:self];
}

但是当我这样做时,我收到以下错误
attempt to dismiss modal view controller whose view does not currently appear. 
self = <UITabBarController: 0x127d09b80> modalViewController = <UIImagePickerController: 0x127e2fd80>

我明白这个问题。但我不知道如何解决它。

基本上我不应该在“当”相机 View 仍在屏幕上时调用电话(即我的模态还没有在屏幕上)。但是我在哪里打电话呢?有没有 ImagePickerDidClose这样的东西或类似的东西?我找不到一个。所以感谢您的帮助。

最佳答案

imagePickerController:didFinishPicking...方法触发,这是您关闭图像选择器 Controller 的机会:

[picker dismissViewControllerAnimated:YES completion:nil];

在大多数情况下,当我们调用这行代码时,我们会发送 nil对于完成参数。但是,如果我们想在这种解除完成时做某事(就像我们在这里所做的那样),我们传递一个完成 block 参数:
[picker dismissViewControllerAnimated:YES completion: ^{
[self performSegueWithIdentifier:@"myUnwindName" sender:self];
}];

关于ios - 从相机方法调用 unwind segue 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25026381/

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