在上一篇只是简单实现了九宫图效果,本章需要形成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)

}

}

效果如下

最新文章

  1. [bigdata] 使用Redis队列来实现与机器无关的Job提交与执行 (python实现)
  2. div
  3. 安卓中級教程(7):annotation中的 public @interface的用法
  4. ipad pro 文章
  5. Swift - 文本输入框(UITextField)
  6. Apache轻量级性能测试工具
  7. Windows 8关机的三个最简单方法
  8. 为什么针对XML的支持不够好?如何改进?
  9. (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
  10. [转]编译 JavaScriptCore For iOS
  11. Python 获取 网易云音乐热门评论
  12. 201521123083《Java程序设计》第12周学习总结
  13. junit initializationError和找不到或无法加载主类
  14. VC2010工程依赖不再自动链接
  15. Java最小化镜像制作
  16. Jmeter(二十)Beanshell or JSR223
  17. 行为类模式(七):观察者(Observer)
  18. cpu负载过高分析
  19. CCNP
  20. JavsScript中JSON相关

热门文章

  1. 在windows下MySQL-python的安装
  2. CDOJ 1048 Bob&#39;s vector(快速幂+三分法)
  3. 2017-2018 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) Solution
  4. unhandledException详细介绍
  5. 获取WebView加载的网页内容并进行动态修改
  6. python基础之多线程锁机制
  7. SNMP学习笔记之SNMPWALK 命令
  8. IC行业
  9. uboot能ping通本机无法ping通本机上搭建的虚拟机
  10. [SpringBoot] - 了解什么是SpringBoot,使用SpringBoot的配置文件