ADNetPromoterScoreSurvey
ADNetPromoterScoreSurvey 是一个 iOS 组件,它向用户呈现一个 Net Promoter Score (NPS) 调查对话框。
特性
- 弹出 NPS 调查对话框
- 用户交互回调
- 包含用户评分、推荐者和反馈的最终回调
- 使用您自己的样式自定义对话框 UI。
支持和需求
- iOS 9 及以上
- Swift 5
- 支持 iPhone X
安装
Cocoapods (版本 1.4.0 或更高)
pod 'ADNetPromoterScoreSurvey'
入门
创建 ADNetPromoterScoreSurvey 成员
var npsSurvery = ADNetPromoterScoreSurvey()
显示调查
当需要显示调查时,只需调用 showSurvey
函数视图控制器
self.npsSurvery.showSurvey(onViewController: self)
委托方法
实现 NetPromoterScoreSurveyDelegate
,以获取调查结果和用户交互回调
self.npsSurvery.delegate = self
实现 NetPromoterScoreSurveyDelegate 协议
所有委托方法都是 可选
@objc optional func netPromoterScoreViewDidChange(_ npsSurvey: ADNetPromoterScoreSurvey,
toView: NetPromoterScoreViewType)
实现此方法以接收当调查视图发生变化时的回调。toView
将保留活动视图类型(scoreQuestionView, feedbackQuestionView, thankYouView)
@objc optional func netPromoterScoreDidPressSendScore(_ npsSurvey: ADNetPromoterScoreSurvey,
selectedScore: Int)
实现此方法以接收当用户在评分问题视图中选择分数后在“发送”按钮上的点击回调。
@objc optional func netPromoterScoreDidChangeScoreValue(_ npsSurvey: ADNetPromoterScoreSurvey,
newScoreValue: Int)
实现此方法以接收当用户在分数滑块中更改分数时的回调。
@objc optional func netPromoterScoreDidPressEditScore(_ npsSurvey: ADNetPromoterScoreSurvey)
实现此方法以接收当用户从“反馈视图”返回编辑分数时的回调。
@objc optional func netPromoterScoreSurveryCompleted(_ npsSurvey: ADNetPromoterScoreSurvey,
surveyResult: NPSResult)
实现此方法以接收当调查流程完成后获取整个调查结果的回调。surveyResult
参数提供了调查结果的摘要(分数、反馈、推荐者类型)。
@objc optional func netPromoterScoreDidPressClose(_ npsSurvey: ADNetPromoterScoreSurvey,
fromView: NetPromoterScoreViewType)
实现此方法以接收当用户关闭调查时的回调。fromView
将保留用户关闭调查时活动视图的类型。
自定义外观
为了使用自定义文本和字体,您可以更改调查的外观。
更改文本
self.npsSurvery.appearance.scoreQuestionViewAppearance.questionText = "My custom question text"
更改字体
self.npsSurvery.appearance.feedbackQuestionViewAppearance.textFieldFont = UIFont(name: "My Custom Font Name", size: 14)
更改颜色
self.npsSurvery.appearance.scoreQuestionViewAppearance.highRankTitleColor = UIColor.red
self.npsSurvery.appearance.feedbackQuestionViewAppearance.titleFontColor = UIColor.red
self.npsSurvery.appearance.thankYouViewAppearance.backgroundColor = UIColor.black
您可以为所有组件视图设置基本的颜色。
self.npsSurvery.appearance.setBaseColor(UIColor.red)
示例项目
- 将仓储库克隆到本地环境
- 进入目录
NetPromoterScoreSurveyExample
- 运行
pod install
- 打开 Xcode 工作空间
NetPromoterScoreSurveyExample.xcworkspace
- 运行
变更日志
查看 变更日志 页面。
贡献
查看 贡献 页面。