iOS:位于userInteractionEnabled = NO UIWindow后面的UIImagePickerController

时间:2018-09-05 08:19:07

标签: ios uiimagepickercontroller uiwindow

这是一个有点奇怪的设置,但是目前这是我需要做的。

我的应用在所有其他内容之上都有一个半透明的UIWindow。初始化如下:

self.alphaWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.alphaWindow.backgroundColor = [UIColor blackColor];
self.alphaWindow.windowLevel = UIWindowLevelAlert+1;
self.alphaWindow.userInteractionEnabled = NO;
self.alphaWindow.rootViewController = [UIViewController new];
self.alphaWindow.alpha = 0.5;

这很正常,但有一个奇怪的例外。当使用sourceType UIImagePickerControllerSourceTypePhotoLibrary呈现UIImagePickerController时,选择器除在其导航栏中外不会获得任何用户输入。因此可以取消选择器,但无法选择图片/录像。如果使用sourceType UIImagePickerControllerSourceTypeCamera,则工作正常。当然,如果我将alphaWindow设置为hidden,则选择器对所有sourceType都可以正常工作。

我知道可能不支持此设置,但是我仍然想知道这里到底发生了什么?关于如何调试该问题的任何想法?

0 个答案:

没有答案