在社区应用程序开发中,我的任务是将iPhone应用程序制作成iPad应用程序.
在文档之后,我使用以下代码生成我的相机视图:
if(UI_USER_INTERFACE_IdioM() == UIUserInterfaceIdiomPad) {
self.imagePickerController = [[UIImagePickerController alloc] init];
self.imagePickerController.delegate = self;
self.imagePickerController.sourceType = sourceType;
if (sourceType == UIImagePickerControllerSourceTypeCamera) {
if ([UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceFront]) {
self.imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceFront;
}
self.imagePickerController.allowsEditing = YES;
self.imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
}
popover = [[UIPopoverController alloc] initWithContentViewController:self.imagePickerController];
[popover presentPopoverFromrect:self.profilePicture.frame
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
return;
}
但是当它产生时,我会得到这个恼人的“额外幽灵”相机按钮……
它不起作用,似乎只是嘲笑我.
如果我要求对象隐藏其输入按钮,则所有按钮都会消失.我认为没办法告诉那个特定的按钮.
UPDATE
我发现它只是第一次出现.如果我关闭并重新打开弹出窗口,它就消失了……
解决方法
可悲的是,这似乎是iOS 6本身的一个错误.但是,有一些可能的解决方法.
您可以将图像选择器的showsCameraControls属性设置为false.这将删除幽灵般的图像,但其他控件也将被删除.您必须使用按钮编写自己的视图,并使用什么来调用正确的操作.
你说如果你关闭并重新打开弹出框,按钮就会消失.您可以将选择器的showsCameraControls属性设置为false,然后在显示选择器之前返回true.如果它不起作用,请尝试在初始化选择器时创建一种假的打开/关闭操作.