iOS/swift 单选框和复选框
/**
复选框
*/
import UIKit class LYBmutipleSelectView: UIView { var selectindexs:[Int]=[]//选中的 //标题数组
var titleArr:[String]=[""]{
didSet{
for i in ..<titleArr.count{
//组装按钮和label
let singleselectview:UIView=UIView.init(frame: CGRect.init(x: i*, y: , width: , height: )) let rightLbel:UILabel=UILabel.init(frame: CGRect.init(x: , y: , width: , height: ))
rightLbel.text=titleArr[i]
singleselectview.addSubview(rightLbel) let leftBtn:UIButton=UIButton.init(frame: CGRect.init(x: , y: , width: , height: ))
leftBtn.tag=+i;
leftBtn.setImage(UIImage.init(named: "fuxuankuangUnselect"), for: UIControl.State.normal)
leftBtn.addTarget(self, action: #selector(leftBtnClcik), for: UIControl.Event.touchUpInside)
singleselectview.addSubview(leftBtn) addSubview(singleselectview)
}
}
} override init(frame: CGRect) {
super.init(frame: frame)
initViews()
} required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
} func initViews(){
let sureBtn:UIButton=UIButton.init(frame: CGRect.init(x: , y: , width: , height: ))
sureBtn.setTitle("确认", for: UIControl.State.normal)
sureBtn.setTitleColor(UIColor.black, for: UIControl.State.normal)
sureBtn.addTarget(self, action: #selector(sureBtnClcik), for: UIControl.Event.touchUpInside)
addSubview(sureBtn)
} //确认按钮,根据选中的按钮索引做相应的操作
@objc func sureBtnClcik(){
print("\(selectindexs)")
} //点击按钮选中或取消
@objc func leftBtnClcik(sender:UIButton){
sender.isSelected = !sender.isSelected
let btnTag:Int=sender.tag-
if sender.isSelected{//选中
selectindexs.append(btnTag)//吧按钮的索引存储起来
}else {
//删除数组中的元素,采用过滤的方法,swift中没有现成f的方法
let fiflter:[Int]=selectindexs.filter {
$ != btnTag
}
selectindexs = fiflter
} sender.setImage(UIImage.init(named: "fuxuankuangUnselect"), for: UIControl.State.selected)
sender.setImage(UIImage.init(named: "fuxuankuangselect"), for: UIControl.State.selected)
} }
/**
单选框
*/ import UIKit class LYBSingleselectview: UIView { var selectindex:Int=//选中的
var lastbtn:UIButton=UIButton.init()//保存上一个按钮 //标题数组
var titleArr:[String]=[""]{
didSet{
for i in ..<titleArr.count{
//组装按钮和label
let singleselectview:UIView=UIView.init(frame: CGRect.init(x: i*, y: , width: , height: )) let rightLbel:UILabel=UILabel.init(frame: CGRect.init(x: , y: , width: , height: ))
rightLbel.text=titleArr[i]
singleselectview.addSubview(rightLbel) let leftBtn:UIButton=UIButton.init(frame: CGRect.init(x: , y: , width: , height: ))
leftBtn.tag=+i
leftBtn.setImage(UIImage.init(named: "fuxuankuangUnselect"), for: UIControl.State.normal)
leftBtn.addTarget(self, action: #selector(leftBtnClcik), for: UIControl.Event.touchUpInside)
singleselectview.addSubview(leftBtn) addSubview(singleselectview)
}
}
} override init(frame: CGRect) {
super.init(frame: frame)
initViews()
} required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
} func initViews(){
let sureBtn:UIButton=UIButton.init(frame: CGRect.init(x: , y: , width: , height: ))
sureBtn.setTitle("确认", for: UIControl.State.normal)
sureBtn.setTitleColor(UIColor.black, for: UIControl.State.normal)
sureBtn.addTarget(self, action: #selector(sureBtnClcik), for: UIControl.Event.touchUpInside)
addSubview(sureBtn)
} //确认按钮,根据选中的按钮索引做相应的操作
@objc func sureBtnClcik(){
print("\(selectindex)")
} //点击按钮选中或取消
@objc func leftBtnClcik(sender:UIButton){
let btnTag:Int=sender.tag-
sender.isSelected=true
lastbtn.isSelected=false
lastbtn.setImage(UIImage.init(named: "fuxuankuangUnselect"), for: UIControl.State.selected)
sender.setImage(UIImage.init(named: "fuxuankuangselect"), for: UIControl.State.selected)
lastbtn=sender
selectindex = btnTag
} }
原文链接:https://blog.csdn.net/u011146511/java/article/details/86578730
iOS/swift 单选框和复选框的更多相关文章
- CSS学习笔记三:自定义单选框,复选框,开关
一点一点学习CCS,这次学习了如何自定义单选框,复选框以及开关. 一.单选框 1.先写好body里面的样式,先写几个框 <body> <div class="radio-1 ...
- 自动化测试-15.selenium单选框与复选框状态判断
本篇主要介绍单选框和复选框的操作 一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了 ...
- 2.12 单选框和复选框(radiobox、checkbox)
2.12 单选框和复选框(radiobox.checkbox) 本篇主要介绍单选框和复选框的操作一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是 ...
- Selenium2学习(十五)-- 单选框和复选框(radiobox、checkbox)
本篇主要介绍单选框和复选框的操作 一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了 ...
- 微信小程序-修改单选框和复选框大小的方法
方法有两种: 一:采用css的zoom属性 zoom缩放会将元素保持在左上角,并且会有毛边,可能会稍稍改变元素原来的形状. 二:采用css3的transform:scale属性 zoom缩放会将元素保 ...
- HTML--使用单选框、复选框,让用户选择
在使用表单设计调查表时,为了减少用户的操作,使用选择框是一个好主意,html中有两种选择框,即单选框和复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中用户可以任意选择多项,甚至全选.请看 ...
- Selenium3+python自动化 单选框和复选框
一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了,可以先抽他了. 二.radio和 ...
- jQuery获取单选框(复选框)选中的状态
jQuery 获取单选框(复选框)选中的状态 <input type="checkbox" name="" id="choose"/& ...
- vue.js实现单选框、复选框和下拉框
Vue.js可以很方便的实现数据双向绑定,所以在处理表单,人机交互方面具有很大的优势.下边以单选框.复选框和下拉框为例介绍他们在HTML和Vue.js中的具体实现方式. 一.单选框 在传统的HTM ...
- Selenium+java - 单选框及复选框处理
一.什么是单选框.复选框? 二.被测页面html源代码 CheckBoxRadioDemo.html <!DOCTYPE html> <html lang="en" ...
随机推荐
- ShoneSharp语言(S#)的设计和使用介绍系列(5)— 数值Double
ShoneSharp语言(S#)的设计和使用介绍 系列(5)— 数值Double 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSh ...
- 一看就懂之吐血整理的 Docker 学习笔记
前言 随着devops的兴起,Docker 近年来越来越火,容器化概念也越来越火.此篇将带你瞬间入门Docker. Docker 概述 Docker 出现的背景 在我们的开发过程中,通常是这样的一种流 ...
- 03_K近邻算法
今天是2020年2月1日星期六,疫情延续,现在确诊人数达到了11821例,艰难困苦,玉汝于成,相信国家的力量!大家齐心协力干一件事,疫情会尽早结束的,武汉加油.前几天整理感知机算法的内容,发现写博客这 ...
- mysql 数据类型笔记
一. varchar存储规则: 4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 5.0版本以上,varchar(20),指的是20字符,无 ...
- CSS 风车(花瓣)旋转动画圆角
这是一个综合的案例,用到了transition(动画,动作在单位时间内完成),transform(旋转),border-radius(圆角),absolute(定位),linear-gradient( ...
- conda虚拟环境安装
一.背景 需要学习mxnet,建一个conda虚拟软件环境. 二.步骤 1.下载anaconda安装文件:https://mirrors.tuna.tsinghua.edu.cn/anaconda/m ...
- Java工作流框架jflow 集团应用模式用户组功能
关键字 驰骋BPM ,工作流开发框架,用户组,接受人规则,用户组发起人范围,选择人范围. 集团工作模式. Ccflow ,jflow.工作流引擎 名词定义与应用背景 对于集团模式的ccflow,jfl ...
- Alpha冲刺 —— 5.9
这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 Alpha冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.总 ...
- [精华帖]Java接口怎么定义?如何使用?【实例讲解】
[精华帖?]滑稽之谈||| 题目: 模拟电脑USB功能设备使用 1.定义USB接口,具备最基本的开启功能和关闭功能 2.定义电脑类,具有开机.关机以及使用usb设备功能 3.鼠标类.具有usb功能,并 ...
- Java实现 LeetCode 599 两个列表的最小索引总和(使用hash提高效率)
599. 两个列表的最小索引总和 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示. 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅 ...