AwesomeSpotlightView 0.1.15

AwesomeSpotlightView 0.1.15

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

Alexander Shoshiashvili 维护。




  • 作者
  • aleksandrshoshishvili

Platform: iOS 9+ Language: Swift 5 Cocoapods compatible License: MIT

AwesomeSpotlightView 是一个使用 Swift 5 构建,简单且优雅的 iOS 库。它是一个非常可定制的且易于使用的工具。完美适用于您应用中的教程或教练。

icon

icon

示例

要运行示例项目,请克隆仓库,然后首先从示例目录运行 pod install

Swift 示例

ObjC 示例

安装

CocoaPods

AwesomeSpotlightView 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod 'AwesomeSpotlightView'

手动安装

  • 只需将 AwesomeSpotlightView 文件夹放到您的项目中。
  • 您现在可以开始使用 AwesomeSpotlightView 了!

用法

override func viewDidLoad() {
    super.viewDidLoad()
    let spotlight1 = AwesomeSpotlight(withRect: CGRect(x: 75, y: 75, width: 100, height: 100), shape: .circle, text: "spotlight1", isAllowPassTouchesThroughSpotlight: true)
    let spotlight2 = AwesomeSpotlight(withRect: CGRect(x: 20, y: 200, width: 130, height: 25), shape: .rectangle, text: "spotlight2")
    let spotlight3 = AwesomeSpotlight(withRect: CGRect(x: 170, y: 50, width: 30, height: 100), shape: .roundRectangle, text: "spotlight3")
    
    let spotlightView = AwesomeSpotlightView(frame: view.frame, spotlight: [spotlight1, spotlight2, spotlight3])
    spotlightView.cutoutRadius = 8
    spotlightView.delegate = self
    view.addSubview(spotlightView)
    spotlightView.start()
}

您可以使用 start 方法在显示 AwesomeSpotlightView 之前进行配置。例如

spotlightView.continueButtonModel = AwesomeTabButton(title: "Next", font: UIFont.italicSystemFont(ofSize: 16.0), isEnable: true)
spotlightView.skipButtonModel.isEnable = true
spotlightView.skipButtonLastStepTitle = "Finish"
spotlightView.showAllSpotlightsAtOnce = false
spotlightView.start()

配置 AwesomeSpotlight

rect (CGRect)

聚光灯的矩形区域。

shape (AwesomeSpotlightShape)

聚光灯的形状:.rectangle, .roundRectangle, .circle。

margin (UIEdgeInsets)

剪裁形状的边缘内距。您可以使用此属性为项目设置额外的空间。

isAllowPassTouchesThroughSpotlight (布尔值)

如果您想允许触摸通过聚光灯(允许与位于聚光灯之下的视图进行交互)(默认:false)则设置为 true。

text (String)

图注文本。

attributedText (AttributedString)

图注的属性文本。

配置 AwesomeSpotlightView

spotlightsArray ([AwesomeSpotlight])

修改聚光灯。

spotlightMaskColor (UIColor)

遮罩颜色(默认:0,0,0 透明度 0.6)。

animationDuration (Double)

切换至下一个提示标记的过渡动画时长(默认:0.3)。

cutoutRadius (CGFloat)

切图矩形半径(默认:4.0)。

maxLabelWidth(Double)

标题标签的最大宽度设置为 280 像素。行数将根据标题内容自动计算。

labelSpacing(CGFloat)

定义标题标签相对于切图的高度(默认:35 像素)。

enableArrowDown(Bool)

在标题文本和标题之间显示带有箭头的图标(默认:false)。

textLabelFont(UIFont)

标题文本标签的字体(默认:UIFont.systemFont(ofSize: 20.0))。

showAllSpotlightsAtOnce(Bool)

同时显示所有高亮(默认:false)。

skipButtonLastStepTitle(String)

当用户打开最后一个高亮时,此标题将在跳过按钮中显示(默认:完成)。

继续按钮模型(AwesomeTabButton)

跳过按钮模型(AwesomeTabButton)

可以使用AwesomeTabButton结构来设置按钮:标题、字体、背景颜色和启用状态。

继续按钮模型的默认值:标题:“继续”,字体:UIFont.boldSystemFont(ofSize: 13.0),启用:false

跳过按钮模型的默认值:标题:“跳过”,字体:UIFont.boldSystemFont(ofSize: 13.0),启用:false

AwesomeSpotlightViewDelegate

1. 使你的视图控制器符合AwesomeSpotlightViewDelegate协议

class ViewController: UIViewController, AwesomeSpotlightViewDelegate

2. 将代理分配给你的AwesomeSpotlightView视图实例

spotlightView.delegate = self

3. 实现代理协议方法

注意:所有方法都是可选的。只实现所需的方法。

  • func spotlightView(_ spotlightView: AwesomeSpotlightView, willNavigateToIndex index: Int)
  • func spotlightView(_ spotlightView: AwesomeSpotlightView, didNavigateToIndex index: Int)
  • func spotlightViewWillCleanup(_ spotlightView: AwesomeSpotlightView, atIndex index: Int)
  • func spotlightViewDidCleanup(_ spotlightView: AwesomeSpotlightView)

受启发于

作者