今天学习了有趣的霓虹灯效果的swift代码,现在来和大家分享
先看一下闪闪的效果图,只弄了4 层,它可以有很多层。
虚拟器上“霓虹灯”效果图现在,我们来看一下代码
首先,要新建一个UIkit的工程
建好工程后,我们要打开AppDelegate.swift文件,并在此文件中写入代码
文件目录第一部分代码写在函数 application 中,代码如下:
// 想在window对象添加内容,就在这个方法中实现
//屏幕类
//UIScreen.main获取屏幕对象
//UIScreen.main.bounds 获取屏幕大小
self.window = UIWindow(frame: UIScreen.main.bounds)//与模拟器设备适配
self.window?.backgroundColor = UIColor.white
self.window?.makeKeyAndVisible()//让window可见,并成为主屏幕
self.window?.rootViewController = UIViewController()//给window设置根视图控制器
//一般应用程序只有一个UIWindow对象。
let redView = UIView(frame: CGRect(x: 107, y: 268, width: 200, height: 200))//添加视图
redView.backgroundColor = UIColor.red//视图的背景颜色
redView.tag = 200//tag值,属性,给视图添加唯一标识(0~100不可用)
self.window?.addSubview(redView)//把redView添加到window
redView.layer.cornerRadius = 100//切圆角半径100
/*以下内容为添加的多层视图内容,可以依据需要增多添加视图*/
let yellowView = UIView(frame: CGRect(x: 132, y: 293, width: 150, height: 150))
yellowView.backgroundColor = UIColor.yellow
yellowView.tag = 201
self.window?.addSubview(yellowView)
yellowView.layer.cornerRadius = 75
let greenView = UIView(frame: CGRect(x: 157, y: 318, width: 100, height: 100))
greenView.backgroundColor = UIColor.green
greenView.tag = 202
self.window?.addSubview(greenView)
greenView.layer.cornerRadius = 50
let purpleView = UIView(frame: CGRect(x: 182, y: 343, width: 50, height: 50))
purpleView.backgroundColor = UIColor.purple
purpleView.tag = 203
self.window?.addSubview(purpleView)
purpleView.layer.cornerRadius = 25
/*以上内容为添加的多层视图内容,可以依据需要增多添加视图*/
//设置定时器
//参数一:定时执行的间隔
//参数二:目标对象
//参数三:目标对象选择执行方法
//参数四:用户信息 nil
//参数五:定时器是否重复执行
Timer.scheduledTimer(timeInterval: 0.3, target: self, selector: #selector(changeColor), userInfo: nil, repeats: true)
/*第一部分代码完*/
第二部分代码写在函数 application 外,代码如下:
func changeColor() {
let redView = self.window?.viewWithTag(200)
//存储redView的背景颜色
let color = redView?.backgroundColor
//多步赋值,改变颜色
/*此处用到tag值,获取每一个视图的背景颜色,第一部分代码中,有几个视图,这一部分中就添加几步赋值*/
self.window?.viewWithTag(200)?.backgroundColor = self.window?.viewWithTag(201)?.backgroundColor
self.window?.viewWithTag(201)?.backgroundColor = self.window?.viewWithTag(202)?.backgroundColor
self.window?.viewWithTag(202)?.backgroundColor = self.window?.viewWithTag(203)?.backgroundColor
self.window?.viewWithTag(203)?.backgroundColor = color
}
/*第二部分代码完*/
这就是今天的"闪闪"霓虹灯,大家多多尝试。
网友评论