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