swift3.0 代码创建经典界面的九宫图--优化篇
在上一篇只是简单实现了九宫图效果,本章需要形成APP界面九宫图效果
override func viewDidLoad() {
super.viewDidLoad()
createnine()
}
//九宫图算法
func createnine(){
//高
let kAppViewH:CGFloat=80
//宽
let kAppViewW:CGFloat=80
//行个数
let kColCount:Int=3
//间隔
let kStart:Int=20
let MarginX:CGFloat=(self.view.frame.size.width-CGFloat(kColCount)*kAppViewW)/CGFloat(kColCount+1)
let MarginY:CGFloat=10
for i in 0 ..< 12 {
let row:Int=i/kColCount;
let col:Int=i%kColCount;
let colF:CGFloat=CGFloat(col);
let x=MarginX+CGFloat(col)*(kAppViewW+MarginX);
let y=CGFloat(kStart)+MarginY+CGFloat(row)*(kAppViewH+MarginY);
var imageView=UIImageView(image: UIImage(named: ""))
imageView.frame=CGRect(x: 0, y: 0, width: 60, height: 60)
//增加Lable
var nameLabel=UILabel(frame: CGRect(x:0, y: 60, width: Int(kAppViewW), height: 20))
nameLabel.text="功能"
nameLabel.textAlignment=NSTextAlignment.center
nameLabel.backgroundColor=UIColor.blue
//var btnBuuton=UIButton.button
//增加按钮
let btnButton=UIButton(frame: CGRect(x: 0, y: 20, width: 60, height: 60))
btnButton.tag=i
btnButton.setTitle("按钮", for: UIControlState.normal)
btnButton.addTarget(self, action: #selector(btnClick(sender:)), for:
.touchUpInside)
let view=UIView(frame: CGRect(x: x, y: y, width: kAppViewW, height: kAppViewH))
view.backgroundColor=UIColor.red
view.addSubview(imageView)
view.addSubview(nameLabel)
view.addSubview(btnButton)
//加入视图
self.view.addSubview(view)
}
}
效果如下
最新文章
- [bigdata] 使用Redis队列来实现与机器无关的Job提交与执行 (python实现)
- div
- 安卓中級教程(7):annotation中的 public @interface的用法
- ipad pro 文章
- Swift - 文本输入框(UITextField)
- Apache轻量级性能测试工具
- Windows 8关机的三个最简单方法
- 为什么针对XML的支持不够好?如何改进?
- (Pre sell) ZOPO ZP998 (C2 II) 5.5 inch smart phone True Octa Core MTK6592 1920X1080 FHD screen 401 ppi 2GB/32GB 14.0Mp camera-in Mobile Phones from Electronics on Aliexpress.com
- [转]编译 JavaScriptCore For iOS
- Python 获取 网易云音乐热门评论
- 201521123083《Java程序设计》第12周学习总结
- junit initializationError和找不到或无法加载主类
- VC2010工程依赖不再自动链接
- Java最小化镜像制作
- Jmeter(二十)Beanshell or JSR223
- 行为类模式(七):观察者(Observer)
- cpu负载过高分析
- CCNP
- JavsScript中JSON相关
热门文章
- 在windows下MySQL-python的安装
- CDOJ 1048 Bob&#39;s vector(快速幂+三分法)
- 2017-2018 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) Solution
- unhandledException详细介绍
- 获取WebView加载的网页内容并进行动态修改
- python基础之多线程锁机制
- SNMP学习笔记之SNMPWALK 命令
- IC行业
- uboot能ping通本机无法ping通本机上搭建的虚拟机
- [SpringBoot] - 了解什么是SpringBoot,使用SpringBoot的配置文件