巴拉巴 1.0.1

巴拉巴 1.0.1

Soojin Ro维护。



巴拉巴 1.0.1

  • 作者:
  • Soojin Ro

巴拉巴

Swift 5.0 Version Platform Carthage Compatible

当用户查看屏幕时自动使UIScrollView滚动👀

特性

  • 当用户查看屏幕时自动为您的UIScrollView提供滚动📱👀
  • 当用户离开屏幕时暂停滚动📱🙄或者在开始滚动时👆
  • 使用ARKit或AVFoundation(您的选择!)进行面部追踪
  • 根据您的内容调整适当的滚动速度
  • 完整的文档
  • 支持iOS 11或更高版本

演示

点击以下图片👉YouTube

Baraba Demo

安装

Cocoapods

Baraba 可以通过 CocoaPods 使用。要安装它,只需在您的 Podfile 中添加以下行

pod 'Baraba'

Carthage

Carthage 是一个去中心化的依赖管理器,它构建您的依赖并提供二进制框架。要使用 Carthage 将 Baraba 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它

github "nsoojin/baraba"

运行 carthage update 来构建框架,并将构建的 Baraba.framework 拖动到您的 Xcode 项目中。

示例

示例应用程序是查看 Baraba 使用情况的最佳方式。只需打开 Baraba.xcodeproj 并运行 Example 方案。

基础用法

只需三行简单代码即可运行!

// Probably in your view controller.
let baraba = Baraba(configuration: .automatic) // (1) Initialize Baraba

override func viewDidLoad() {
    super.viewDidLoad()
    
    baraba.scrollView = tableView // (2) Set the scroll view for the auto-scroll target
    baraba.delegate = self
}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    
    baraba.resume() // (3) Resume to activate camera and start tracking user's face
}

override func viewWillDisppear(_ animated: Bool) {
    super.viewWillDisppear(animated)
    
    baraba.pause() // Pause to stop accessing camera
}

配置

let baraba = Baraba(configuration: .automatic) // Uses ARKit if supported. If not, uses AVFoundation
let baraba = Baraba(configuration: .ar)
let baraba = Baraba(configuration: .av)

Baraba.isConfigurationSupported(.ar) // Check the device availability

什么是不同之处?

ARKit 使用 TrueDepth 正面摄像头。并非所有 iOS 设备都支持此功能,请参阅 设备兼容性。通常,ARKit 具有更快的面部跟踪能力,因此对用户移动的反应更快。然而,长时间使用可能会消耗更多能量并可能增加设备温度。最好的方式是亲自运行并体验。尝试示例应用。

滚动速度

您可以使用 preferredScrollSpeed 属性调整滚动速度,该属性表示“每秒点数”。然而,实际的滚动速度将是 60 的最近倍数。这是为了平滑滚动,因为设备的最大显示刷新率为每秒 60 帧。如果您想检查实际速度,可以使用 actualScrollSpeed 属性。默认值为 180。

baraba.preferredScrollSpeed = 240 // baraba.actualScrollSpeed == 240 
baraba.preferredScrollSpeed = 100 // baraba.actualScrollSpeed == 120

暂停时长

当用户开始拖动滚动视图时,自动滚动会暂停。在拖动完成后,在此时长后自动滚动会重新开始。

baraba.pauseDuration = 4

⚠️重要

如果您想使用 BarabaConfiguration.ar,该配置使用 ARFaceTrackingConfiguration,则您的应用必须包含一份隐私政策,说明您打算如何使用面部跟踪和面部数据。(参见 Apple Notes

示例 #1(这已通过实际的 App Store 审查。)

您可以根据自己的意愿使用此 样本

常见问题解答

巴喇巴这个名字的起源是什么?

巴喇巴(바라봐)是韩语中的一个词,意思是“看着我”。

贡献

我们非常欢迎贡献🙌

许可证

巴喇巴采用MIT许可证发布。详见许可证