/**
复选框
*/
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. CF808E Selling Souvenirs

    题目链接: http://codeforces.com/contest/808/problem/E 题目大意: Petya 有 n 个纪念品,他能带的最大的重量为 m,各个纪念品的重量为 wi,花费为 ...

  2. 二、工具类ImageUtil——图片处理

    这个工具类完成的工作如下: 1.第一个static方法,完成图片格式的转换.统一转换成.jpg格式. package util; import java.awt.Toolkit; import jav ...

  3. 自己写的vue底导航

    <template> <div id="app"> <div class="tabbar"> <div class=& ...

  4. dom4j——使用dom4j生成xml

    使用org.dom4j.Element 创建xml /** * 生成Service.xml文件 * @param tran 交易对象 * @param filePath 文件夹路径 */ public ...

  5. 深入理解JS:执行上下文中的this(二)

    目录 序言 Function.prototype.bind() 方法 箭头函数 参考 1.序言 在 深入理解JS:执行上下文中的this(一) 中,我们主要深入分析全局环境和函数环境中函数调用的 th ...

  6. 用Linux感觉低效吗?来看看这几个技巧!

      Linux已经成为目前最火的操作系统之一,尽管现在的Linux用户很多,但很多使用Linux的同学发现,他们在Linux下的工作效率并不高,那么这是为什么呢?其实使用Linux也可以很舒适,通过一 ...

  7. [转]前人挖坑,后人填坑—如何把那些bug挖掘出来

    当我们放下一个项目转投下一个时,手头的东西就要转交给他人处理,或者..不再有人处理,可代码还在那里,搞不好你就引用了别人的东西,保不准哪天别人的代码里就爆出了个大 bug,当然这里的“别人”也可能是 ...

  8. RabbitMQ--其他几种模式

    本文是作者原创,版权归作者所有.若要转载,请注明出处. 本文RabbitMQ版本为rabbitmq-server-3.7.17,erlang为erlang-22.0.7.请各位去官网查看版本匹配和下载 ...

  9. 第四篇-用Flutter手撸一个抖音国内版,看看有多炫

    前言 这次对布局进行优化,主要包含了首页tabview pageview 以及添加几个按钮的操作过程.主要使用到stack层叠布局,tabpview和pageview,tabview两个页面,一个关注 ...

  10. 1. vue文件结构

    1)这是文件规则 <template> <div > </div> </template> <script> Name:"当前的名 ...