ALSpotlightView 0.0.2

ALSpotlightView 0.0.2

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2015年4月
SPM支持 SPM

Alex Leite维护。



  • Alex Leite

关于

这是一个模拟模态聚光灯效果的定制控件。它可以用作突出显示您屏幕上的某个部分,以及其他用途。它是完全用 Swift 编写的,使用非常简单。请看下面的代码

示例代码

//-- Initializing a spotlight view (shortest initialization):
let spotlightView = ALSpotlightView(spotlightCenter: CGPoint(x: 0.5, y: 0,5))

//-- Setting a tap handler (to hide when tapped)
spotlightView.onTapHandler = {
    spotlightView.hide
}

//-- Presenting the spotlight view:
spotlightView.show()

自定义外观和行为

您可以通过几种方式来自定义控件的外观和行为。以下是一些您可以执行的操作

初始化

在上面的示例代码中,我显示了以最简单方式初始化控件的方法。以下是控件的完整初始化函数签名

//-- Full Initialization:

let spotlightView = ALSpotlightView(spotlightCenter: center, 
                                    spotlightRadius: radius, 
                                       modalOpacity: opacity,
                                       onTapHandler: nil)

控件有以下属性

  • spotlightCenter:一个 CGPoint,指示相对于其父视图的聚光灯中心的 x 和 y 坐标。每个坐标的值介于 0.01.0 之间。例如,要显示在窗口的中心,请将 spotlightCenter 设置为 CGPoint(x: 0.5, y: 0.5)
  • spotlightRadius:一个 CGFloat,表示聚光灯效果的半径。
  • modalOpacity:介于 0.01.0 之间的 CGFloat,调整聚光灯效果周围区域的 alpha 值。
  • onTapHandler:一个闭包,具有以下签名:() -> Void,在聚光灯视图可见后处理触摸行为。

显示和隐藏

初始化控件后,您只需调用 show()hide() 来显示或隐藏它。为了获得更多控制权,这些方法将提供一些其他选项,例如,您是否想使显示/隐藏效果具有动画,以及转换的持续时间。

showInView: 函数上,您还可以确定控件应在哪个视图中显示。如果不指定,它将自动出现在应用的关键窗口上。这里是函数的完整签名

//-- Showing spotlight view on a custom view:
spotlightView.showInView(view, animated: true)

//-- Showing spotlight view in one second: 
spotlightView.show(animated: true, duration: 1.0)

//-- Hiding spotlight view without animation:
spotlightView.hide(animated: false)

以下示例应该是相当直观的。无论如何,我打算在将来详细阐述这些说明。请随意探索控件以及它的示例代码。

如何使用

要使用此控件,您可以将 APSpotlightView.swift 类复制到您的项目中,或者使用 CocoaPods 0.36 及以上版本,将以下 pod 添加到您的项目中

pod 'ALSpotlightView'

许可证

此组件采用MIT许可。