【问题标题】:Remove Zoom slider in UIImagePickerController删除 UIImagePickerController 中的缩放滑块
【发布时间】:2015-07-25 23:56:55
【问题描述】:

我无法访问默认显示在UIImagePickerController 中的缩放滑块。这似乎无法访问,我必须隐藏它,因为它在我的 UIImagePickerController 中的cameraOverlay 视图上弹出。有人能告诉我如何隐藏用户捏合和“缩放”时出现的缩放滑块吗?

滑块如下所示:

PS这不是我的自定义相机。这只是出现在我的cameraOverlay上的滑块图像

【问题讨论】:

  • 你有没有得到这个答案?我也看到了……
  • 不,我没有,很遗憾,我相信我完全禁用了缩放功能。
  • 仍在努力解决这个问题。 @chrisx 你是如何完全禁用缩放的?你有我可以看的代码 sn-p 吗?

标签: ios uiimagepickercontroller uislider


【解决方案1】:

感谢 iOS 10.0,我最近遇到了这个问题。在花费大量时间谷歌搜索并且没有提出任何有效的方法之后 - 我想出了自己的解决方案:

myVC.PresentViewController (_imagePicker, false, ()=>_imagePicker.View.Subviews[0].Subviews[0].Subviews[0].Subviews[0].Subviews[1].RemoveFromSuperview();

基本上一旦显示了选择器视图 - “_imagePicker.View.Subviews[0].Subviews[0].Subviews[0].Subviews[0].Subviews1.RemoveFromSuperview();”将被执行以从相机中移除滑块视图。

这可能会在未来的 iOS 更新中中断 - 因此我不建议将其用于生产应用程序。如果您正在做很多自定义相机的工作 - 建议您使用 AVFoundation 框架。

有人应该提出一个苹果在 iOS 10 中的错误“imagePicker.ShowsCameraControls = NO;”实际上并没有删除所有的相机控件。

如果您以后需要弄清楚如何做类似的事情,您可以使用:Xcode 中的“Debug View Hierarchy”按钮来查看 viewHierarchy,然后通过查看点击您想要删除/猜测的组件视图名称:

Example hierarchy path

在这种情况下,我要删除的视图是“CAMViewfinderView”。希望这会有所帮助!

注意,我的代码是用 CSharp (Xamarin.IOS) 编写的,但在 Objective-c 中也可以使用相同的代码——只是语法略有不同。

-鲁弗斯

【讨论】:

  • 是的,您可以在我发布的代码块中看到它(我刚刚更新了格式,使其更加明显)。
【解决方案2】:

我想找到了这个问题的最佳答案: 缩放滑块是一个 UISlider,如果您的 imagePickerController 的视图属性在其子视图下方包含一个 UISlider,您可以将其 alpha 设置为零。 如果您升级到 iOS10,就会出现此问题。

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
    }
}

我希望这会有所帮助。

【讨论】:

    【解决方案3】:

    我发现这会禁用缩放功能。

    imagePicker.view.isUserInteractionEnabled = false
    

    以上内容取消了相机的用户交互。

    这就是最终对我有用的方法。

    将 cameraOverlay 作为子视图添加到选取器。

    if let overlay = overlayViewController?.view {
               imagePicker.view.addSubview(overlay)
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多