swift ~星星评分(支持手势评分) ~封装demo

2024-03-17 11:50

本文主要是介绍swift ~星星评分(支持手势评分) ~封装demo,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 联系人:石虎 QQ:1224614774  昵称: 嗡嘛呢叭咪哄​​​​​​​

 

                      QQ群:807236138  群称: iOS 技术交流学习群

                      QQ群:713799633   群称: iOS技术交流学习群-2
 

一、使用 参考核心类SHStarRatingView.swift

     下载地址: ​​​​​​​星星评分: swift实现星星评分功能(支持手势评分)

//
//  ViewController.swift
//  SHStarRatingView
//
//  Created by shihu on 2021/11/3.
//import UIKitclass ViewController: UIViewController {let width: Int = 30 // 星星的宽、高private lazy var starRatingView: SHStarRatingView = {let temp = SHStarRatingView(frame: CGRect(x: 10, y: 200, width: width * 5 + 5 , height: width))temp.setBottomImageName("icon_star_gray", topIconStr: "icon_star_yellow", starCount: 5)temp.allowIncompleteStar = true  // 是否允许, 整颗星temp.allowAnimation = true  // 动画temp.allowProhibitManuallyStar = false // 禁止手动评分temp.scorePercent = 3.6 / 5 // 默认评分  (0 - 1)temp.delegate = selftemp.backgroundColor = .yellowreturn temp}()lazy var nuberLabel: UILabel = { // 评分数值let temp: UILabel = UILabel(frame: CGRect(x: 0, y: 260, width: 300, height: 20))temp.text = "3.60"temp.textAlignment = .centertemp.textColor = .redtemp.backgroundColor = .yellowreturn temp}()override func viewDidLoad() {super.viewDidLoad()self.view.addSubview(self.starRatingView)  //添加....五角星...self.view.addSubview(self.nuberLabel)      //添加....五角星数值...}}// MARK: - Private methodextension ViewController: SHStarRatingViewDelegate {func starRateView(_ starRateView: SHStarRatingView, currentScorePercent: CGFloat) {print("newScorePercent======\(currentScorePercent * 5)")self.nuberLabel.text = "\(currentScorePercent * 5)"}}

二、demo 效果图

下载 demo

     码云:https://gitee.com/ShiHu132/SHUnitView

     github:https://gitee.com/ShiHu132/SHUnitView

三、 界面实现截图

谢谢!!!

本账号主要分享我成长过程中的各种心得感悟,包括技术总结, iOS、Swift 和 Mac 相关技术文章、工具资源、参与技术讨论,整理开发技巧、让学习成为一种享受!

这篇关于swift ~星星评分(支持手势评分) ~封装demo的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/818868

相关文章

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

一文详解如何在Vue3中封装API请求

《一文详解如何在Vue3中封装API请求》在现代前端开发中,API请求是不可避免的一部分,尤其是与后端交互时,下面我们来看看如何在Vue3项目中封装API请求,让你在实现功能时更加高效吧... 目录为什么要封装API请求1. vue 3项目结构2. 安装axIOS3. 创建API封装模块4. 封装API请求

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.