代码之家  ›  专栏  ›  技术社区  ›  JsW

如何删除uiimagepickercontroller的范围滑块?

  •  0
  • JsW  · 技术社区  · 6 年前

    在我的定制中有一个滑动条 UIImagePickerController .
    我已经删除了默认的相机控件并设置了自定义的覆盖视图。

        self.showsCameraControls = false;
        self.cameraOverlayView = self.overlayView;
    

    但仍有一个范围栏在视图上。 我找不到任何相关的属性或方法来删除它。 enter image description here enter image description here

    任何建议都将不胜感激。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Usama Sadiq    6 年前

    已经回答了 HERE

    func subviews(_ view: UIView) -> [UIView] {
        return view.subviews + view.subviews.flatMap { subviews($0) }
    }
    
    let myViews = subviews(imagePickerController.view)
    for view in myViews {
        if view is UISlider {
            view.alpha = 0.0
        }
    }
    
        2
  •  0
  •   JsW    6 年前

    找到解决办法了。
    回答 Here 也。

    showsCameraControls 应该设置在 UIImageViewController 已加载。
    这意味着您可以在自定义uiimageviewcontroller的初始化中执行此操作。

    - (instancetype)init {
        if (self = [super init]) {
            self.showsCameraControls = false;
    
            self.sourceType = UIImagePickerControllerSourceTypeCamera;
            self.delegate = self;
        }
        return self;
    }