巴拉巴
当用户查看屏幕时自动使UIScrollView滚动
特性
- 当用户查看屏幕时自动为您的UIScrollView提供滚动
📱 👀 - 当用户离开屏幕时暂停滚动
📱 🙄 或者在开始滚动时👆 - 使用ARKit或AVFoundation(您的选择!)进行面部追踪
- 根据您的内容调整适当的滚动速度
- 完整的文档
- 支持iOS 11或更高版本
演示
👉 YouTube
点击以下图片
安装
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许可证发布。详见许可证。