/**
复选框
*/
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 单选框和复选框的更多相关文章

  1. CSS学习笔记三:自定义单选框,复选框,开关

    一点一点学习CCS,这次学习了如何自定义单选框,复选框以及开关. 一.单选框 1.先写好body里面的样式,先写几个框 <body> <div class="radio-1 ...

  2. 自动化测试-15.selenium单选框与复选框状态判断

    本篇主要介绍单选框和复选框的操作 一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了 ...

  3. 2.12 单选框和复选框(radiobox、checkbox)

    2.12 单选框和复选框(radiobox.checkbox) 本篇主要介绍单选框和复选框的操作一.认识单选框和复选框    1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是 ...

  4. Selenium2学习(十五)-- 单选框和复选框(radiobox、checkbox)

    本篇主要介绍单选框和复选框的操作 一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了 ...

  5. 微信小程序-修改单选框和复选框大小的方法

    方法有两种: 一:采用css的zoom属性 zoom缩放会将元素保持在左上角,并且会有毛边,可能会稍稍改变元素原来的形状. 二:采用css3的transform:scale属性 zoom缩放会将元素保 ...

  6. HTML--使用单选框、复选框,让用户选择

    在使用表单设计调查表时,为了减少用户的操作,使用选择框是一个好主意,html中有两种选择框,即单选框和复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中用户可以任意选择多项,甚至全选.请看 ...

  7. Selenium3+python自动化 单选框和复选框

    一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了,可以先抽他了. 二.radio和 ...

  8. jQuery获取单选框(复选框)选中的状态

    jQuery 获取单选框(复选框)选中的状态 <input type="checkbox" name="" id="choose"/& ...

  9. vue.js实现单选框、复选框和下拉框

    Vue.js可以很方便的实现数据双向绑定,所以在处理表单,人机交互方面具有很大的优势.下边以单选框.复选框和下拉框为例介绍他们在HTML和Vue.js中的具体实现方式. 一.单选框   在传统的HTM ...

  10. Selenium+java - 单选框及复选框处理

    一.什么是单选框.复选框? 二.被测页面html源代码 CheckBoxRadioDemo.html <!DOCTYPE html> <html lang="en" ...

随机推荐

  1. LibreOJ #515 贪心只能过样例

    题目链接:https://loj.ac/problem/515 知识点: DP.bitset类 解题思路: DP部分不难想到:从 a 到 b 遍历,然后在已有的状态上加上遍历得到的数字的平方,难点在于 ...

  2. A == B ?(hdu2054)

    输入格式:直接循环,同时输入两个不带空格未知长度的字符串. 思考:不带空格未知长度且同时输入,用两个char s[maxsize]定义两个字符数组,再用scanf_s()函数同时输入两个字符串. 注意 ...

  3. 【Oracle】CentOS7/CentOS8命令行重启Oracle 11G R2

    写在前面 按照读者朋友的要求写了一篇<[Oracle]CentOS7/CentOS8命令行安装Oracle 11G R2>,由于读者完全是按照我的安装方式安装的Oracle数据库,也是将O ...

  4. java导入web项目httpservlet报错

    于是开始了,调错之路. 解决方法:鼠标右击项目工程——>Build Path——>点击comfigure Build Path进入----->选择java Bulid Path--- ...

  5. VUE 关键字

    转 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...

  6. linux克隆之后网络设置

    1.修改网络 vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改:ip地址 IPADDR=192.168.77.83GATEWAY=192.168.77.2 ...

  7. C# 数据操作系列 - 19 FreeSql 入坑介绍

    0. 前言 前几天FreeSql的作者向我推荐了FreeSql框架,想让我帮忙写个文章介绍一下.嗯,想不到我也能带个货了.哈哈,开个玩笑-看了下觉得设计的挺有意思的,所以就谢了这篇文章. 简单介绍一下 ...

  8. 【图机器学习】cs224w Lecture 13 & 14 - 影响力最大化 & 爆发检测

    目录 Influence Maximization Propagation Models Linear Threshold Model Independent Cascade Model Greedy ...

  9. Salesforce LWC学习(十七) 前端知识之 onclick & onblur & onmousedown

    在Salesforce LWC学习(八) Look Up组件实现篇中,我们实现了公用的lookup组件,使用的过程中,会发现当我们输入内容以后,搜索出来的列表便无法被清空. 针对此种情况我们打算优化一 ...

  10. JAVA实现对称加密

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.对称加密算法DES 1.概述:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这 ...