gpt4 book ai didi

选择取消按钮错误后的 iOS 11 UIImagePickerController

转载 作者:行者123 更新时间:2023-11-29 11:40:42 32 4
gpt4 key购买 nike

我正在使用 UIImagePickerController 选择照片和裁剪图像。

这和之前看到的情况是一样的 https://forums.developer.apple.com/thread/88286

这是我的代码:

- (void) onTest:(UIButton *)btn {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
picker.delegate = self;
picker.allowsEditing = YES;
[picker setModalPresentationStyle: UIModalPresentationOverCurrentContext];
[self presentViewController:picker animated:YES completion:nil];
}

enter image description here

这是 View 层。我没有添加这个 UIView。我无法按下取消按钮,也无法放大/缩小。

iOS 10 没有问题。我只有 iOS 11 有问题。

最佳答案

我有一个解决这个问题的好主意。

将 Controller (您从中显示 UIImagePickerController)设置为 UIImagePickerController 的委托(delegate),然后从 开始符合 UINavigationControllerDelegate UIImagePickerControllerUINavigationController的子类,那么实现方法:

- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
if ([UIDevice currentDevice].systemVersion.floatValue < 11) {
return;
}
if ([viewController isKindOfClass:NSClassFromString(@"PUPhotoPickerHostViewController")]) {
weakify(viewController);
[viewController.view.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if (obj.frame.size.width < 42 && FLOAT_EQUAL(obj.frame.size.height, [[UIScreen mainScreen] bounds].size.height)) {
strongify(viewController);
[viewController.view sendSubviewToBack:obj];
*stop = YES;
}
}];
}
}

关于选择取消按钮错误后的 iOS 11 UIImagePickerController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46762200/

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