如果您对使用Swift将相机焦点设置在点击点上感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于使用Swift将相机焦点设置在点击点上的详细内容,我们还将为您解答相机上focu
如果您对使用Swift将相机焦点设置在点击点上感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于使用Swift将相机焦点设置在点击点上的详细内容,我们还将为您解答相机上focus的相关问题,并且为您提供关于ios – 使用swift 4.0编译的模块无法在swift 3.1中导入、ios – 使用Swift 4.0编译的模块无法在Swift 4.0.1中导入、ios – 使用Swift与Swift构建聊天功能的教程?、ios – 使用Swift将相机焦点设置在Tap point上的有价值信息。
本文目录一览:- 使用Swift将相机焦点设置在点击点上(相机上focus)
- ios – 使用swift 4.0编译的模块无法在swift 3.1中导入
- ios – 使用Swift 4.0编译的模块无法在Swift 4.0.1中导入
- ios – 使用Swift与Swift构建聊天功能的教程?
- ios – 使用Swift将相机焦点设置在Tap point上
使用Swift将相机焦点设置在点击点上(相机上focus)
快速使用相机的API似乎有些不同,但我很难将相机聚焦在某个点上。当用户点击屏幕时,我希望相机将焦点对准该点
这是我的代码:
func focusCamera(point:CGPoint) { var screenRect:CGRect = bounds var focusX = Float(point.x/screenRect.width) var focusY = Float(point.y/screenRect.height) _currentDevice.lockForConfiguration(nil) _currentDevice.setFocusModeLockedWithLensPosition(focusX) { time in self._currentDevice.unlockForConfiguration() } _currentDevice.setFocusModeLockedWithLensPosition(focusY) { time in self._currentDevice.unlockForConfiguration() } }
但这似乎不起作用。
任何建议都值得欢迎!
答案1
小编典典事实证明,它非常简单:
_currentDevice.lockForConfiguration(nil)_currentDevice.focusPointOfInterest = tap.locationInView(self)_currentDevice.unlockForConfiguration()
ios – 使用swift 4.0编译的模块无法在swift 3.1中导入
Module compiled with swift 4.0 cannot be imported in swift 3.1
当我在Xcode 8中运行项目时.我的模块中的模块是Alamofire.我试图重新启动Xcode,但没有任何想法如何解决这个问题?
解决方法
清理项目,然后尝试重新构建解决方案,看看它是否有效.
如果它不起作用,您仍然会收到相同的错误消息,请执行以下步骤,它应该适合您:
>打开您的podfile并删除Alamofire>运行pod更新>将Alamofire重新添加到您的podfile中>运行pod更新>完成后,清理项目并运行它
ios – 使用Swift 4.0编译的模块无法在Swift 4.0.1中导入
>基础SDK iOS 11.1
> Swift语言版本Swift 4.0
>不使用Pods / Carthage
我希望有人知道
解决方法
对于Xcode的发布版本:
当使用Xcode 9.1,9.2,9.3,9.4,10等打开使用早期Xcode工具构建的框架的项目时,将发生此错误(以及涉及Swift 4.1,4.2等的类似错误).
要解决此问题,请使用Carthage(carthage update –platform iOS),Cocoapods(pod更新或pod安装)或使用新更新的Xcode工具手动更新和重建框架.更新Xcode时应自动更新这些工具,但如果没有,您可以按照原始答案中列出的步骤进行操作.
您可能还需要清理项目cmd shift k以及可能的构建文件夹cmd选项shift k以使Xcode不使用缓存的框架构建.
在某些情况下,您可能还需要删除派生数据文件夹(通过转到Xcode首选项 – >位置 – >派生数据文件夹轻松找到
(谢谢特纳)
对于Xcode的beta版本:
请参阅以下原始答案,然后按照上述步骤操作
原答案:
您可能仍然将xcodebuild工具设置为使用Swift 4.0构建的Xcode 9.0,并且与Xcode 9.1 beta的Swift 4.0.1不兼容.
使用以下命令检入终端:
xcodebuild -version
或者只是进入Xcode首选项 – >位置并检查/更改命令行工具到Xcode 9.1.你应该设置好.
ios – 使用Swift与Swift构建聊天功能的教程?
解决方法
ios – 使用Swift将相机焦点设置在Tap point上
这是我的代码:
func focusCamera(point:CGPoint) { var screenRect:CGRect = bounds var focusX = Float(point.x/screenRect.width) var focusY = Float(point.y/screenRect.height) _currentDevice.lockForConfiguration(nil) _currentDevice.setFocusModeLockedWithLensPosition(focusX) { time in self._currentDevice.unlockForConfiguration() } _currentDevice.setFocusModeLockedWithLensPosition(focusY) { time in self._currentDevice.unlockForConfiguration() } }
但它似乎没有用.
任何建议都非常欢迎!
解决方法
override func touchesBegan(_ touches: Set<UITouch>,with event: UIEvent?) { let screenSize = videoView.bounds.size if let touchPoint = touches.first { let x = touchPoint.location(in: videoView).y / screenSize.height let y = 1.0 - touchPoint.location(in: videoView).x / screenSize.width let focusPoint = CGPoint(x: x,y: y) if let device = captureDevice { do { try device.lockForConfiguration() device.focusPointOfInterest = focusPoint //device.focusMode = .continuousAutoFocus device.focusMode = .autoFocus //device.focusMode = .locked device.exposurePointOfInterest = focusPoint device.exposureMode = AVCaptureExposureMode.continuousAutoExposure device.unlockForConfiguration() } catch { // just ignore } } } }
关于使用Swift将相机焦点设置在点击点上和相机上focus的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于ios – 使用swift 4.0编译的模块无法在swift 3.1中导入、ios – 使用Swift 4.0编译的模块无法在Swift 4.0.1中导入、ios – 使用Swift与Swift构建聊天功能的教程?、ios – 使用Swift将相机焦点设置在Tap point上的相关信息,请在本站寻找。
本文标签: