Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 隐藏UIImagePickerController源摄像头工具栏,但隐藏特定按钮?_Objective C_Cocoa Touch_Ios_Uiimagepickercontroller - Fatal编程技术网

Objective c 隐藏UIImagePickerController源摄像头工具栏,但隐藏特定按钮?

Objective c 隐藏UIImagePickerController源摄像头工具栏,但隐藏特定按钮?,objective-c,cocoa-touch,ios,uiimagepickercontroller,Objective C,Cocoa Touch,Ios,Uiimagepickercontroller,为了在我的UIImagePickerControllerSourceTypeCamera中创建自定义工具栏,我必须关闭摄像头控件,如下所示: pickerOne.showsCameraControls = YES; 我想显示变焦、闪光灯、切换相机和聚焦于UIImagePickerController,但我想创建自定义视图。添加自定义视图时,仅当我关闭cameraControls时,它才会显示 有没有办法不隐藏相机控件并创建自定义视图?或者我必须手动添加这些按钮吗?我认为除了在自定义视图(覆盖)

为了在我的
UIImagePickerControllerSourceTypeCamera
中创建自定义工具栏,我必须关闭摄像头控件,如下所示:

pickerOne.showsCameraControls = YES;
我想显示变焦、闪光灯、切换相机和聚焦于
UIImagePickerController
,但我想创建自定义视图。添加自定义视图时,仅当我关闭
cameraControls
时,它才会显示


有没有办法不隐藏相机控件并创建自定义视图?或者我必须手动添加这些按钮吗?

我认为除了在自定义视图(覆盖)中实现本机功能之外,没有其他方法(至少是直接的方法)。
另一种方法(我没有尝试过)是向UIImagePickerController根视图添加自定义视图(不使用cameraOverlay属性)。这是不建议/不允许的,但似乎会起作用。自动闪光/变焦/前置摄像头的原因。。。不使用自定义视图是,视图层次结构不同

如果你看看流行的摄像头应用程序,它们中的大多数都实现了这些控件。我也做了同样的事。

事实上,实施起来应该不难“点击聚焦”很难实现,默认情况下实际聚焦完成。我们所需要做的就是在触摸屏周围画一个正方形。

通过在hittest方法中检查接收视图,您可以忽略覆盖视图上的触摸屏。只需将此代码添加到覆盖视图,即可忽略该视图上的所有接触,但不会忽略其子视图上的接触

-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
    id hitView = [super hitTest:point withEvent:event];
    if (hitView == self) return nil;
    else return hitView;
}
如果今天在stackoverflow上读到这个,我不记得在哪里了,sry