gpt4 book ai didi

ios - IOS静态库如何运行presentViewController

转载 作者:行者123 更新时间:2023-11-29 02:55:22 28 4
gpt4 key购买 nike

我正在尝试在 iOS 中为 Camera 构建静态库,但它在我的用户应用程序中显示了这样的错误

Attempt to present <UIImagePickerController: 0x17e2f740> on <Camera: 0x17d3f5b0> whose view is not in the window hierarchy!

我在我的静态库 libCamera.a 中的 Camera.m 中使用这段代码,就像这样

 -(void)callCamera
{
UIImagePickerController * picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker animated:YES];// Error is for this line
}

我通过导入 libCamera.a 在我的应用程序 checkcamera.m 中使用这个库

-(void)viewDidLoad
{
[super viewDidLoad]
Camera cam=[[Camera alloc]init];
[cam callCamera]
}

但它显示上述错误,所以我想知道如何在静态库中运行 presentViewController?

最佳答案

尝试将 [cam callCamera]viewDidLoad 移动到 viewDidAppear。根据UIViewController Class Reference viewDidAppear 是指示您的 View Controller 的 View 已添加到窗口层次结构的确切方法。

编辑:

如果 CameraUIViewController 的子类,请试试这个:

- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];

Camera *cam=[[Camera alloc] init];

[self.view addSubview:cam.view];
[self addChildViewController:cam];
[cam callCamera];
}

关于ios - IOS静态库如何运行presentViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23968157/

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