这是一个有点奇怪的设置,但是目前这是我需要做的。
我的应用在所有其他内容之上都有一个半透明的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都可以正常工作。
我知道可能不支持此设置,但是我仍然想知道这里到底发生了什么?关于如何调试该问题的任何想法?