AwesomeSpotlightView 是一个使用 Swift 5 构建,简单且优雅的 iOS 库。它是一个非常可定制的且易于使用的工具。完美适用于您应用中的教程或教练。
示例
要运行示例项目,请克隆仓库,然后首先从示例目录运行 pod install
。
安装
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)