项目中的需求是前面图片,在图片最后面始终有按钮如图

图片

let space:CGFloat = 10

for i in 0..model.count{

let itemWidth:CGFloat = 300

let itemHeight:CGFloat =  50

let x:CGFloat =  30+(itemWidth + space) * CGFloat(i%2)

let y:CGFloat = 100+(itemHeight + space) * CGFloat(i/2)

let button = CloseupButton.init(frame: CGRect(x: x, y: y, width: itemWidth, height: itemHeight))

let datamodel = model[i]

let date = String().Get_Reallocattime(time: datamodel.Spktestdate!)

button.setTitle("\(date)", for: .normal)

button.numLabel.text = "\(datamodel.element)/\(datamodel.denominator)"

button.tag = i + 666

if datamodel.denominator == datamodel.element{

button.setImage(UIImage.init(named: "checkbox-checked"), for: .normal)

}else{

button.setImage(UIImage.init(named: "checkbox"), for: .normal)

}

button.imageEdgeInsets = UIEdgeInsetsMake(0, -170, 0, 0)

button.titleEdgeInsets = UIEdgeInsetsMake(0, -160, 0, 0)

button.addTarget(self, action: #selector(self.Select_Reallocationbutton(_:)), for: .touchUpInside)

self.contentView.addSubview(button)

let space:CGFloat = 10

var x:CGFloat? = nil

let itemWidth =  (self.ImagePhotoView.frame.size.width - space*5)/4

if BackSelectModelAry.IamageAry.count != 0 {

x =  (itemWidth + space) * CGFloat(2%4)

}else{

x = 5

}

//        let x:CGFloat =  (itemWidth + space) * CGFloat(BackSelectModelAry.IamageAry.count%4)

//        let y:CGFloat =  (itemWidth + space) * CGFloat(BackSelectModelAry.IamageAry.count/4)

let button = UIButton(frame: CGRect(x:x!, y:0, width:itemWidth, height: itemWidth))

button.addTarget(self, action: #selector(eventAddImage), for: .touchUpInside)

button.contentMode = .scaleAspectFill

button.layer.borderWidth = 2

button.layer.borderColor = PresentColor.cgColor

button.setImage(UIImage(named: "image_select"), for: UIControlState.normal)

self.ImagePhotoView.addSubview(button)

}

swift 创建九宫格在后面加按钮的更多相关文章

  1. 如何用Swift创建一个复杂的加载动画

    现在在苹果应用商店上有超过140万的App,想让你的app事件非常具有挑战的事情.你有这样一个机会,在你的应用的数据完全加载出来之前,你可以通过一个很小的窗口来捕获用户的关注. 没有比这个更好的地方让 ...

  2. swift:创建九宫格

    九宫格的创建是有规律可循的,每一个格子的水平和竖直方向的间隔是固定的,通过计算每一个格子的位置,然后把它们依次放到视图中即可. 一般的步骤为: 1.设置格子的总个数和每一列的格子数 2.求格子的间隔: ...

  3. 使用OC和swift创建系统自带的刷新界面

    使用OC和swift创建系统自带的刷新界面 一:swift刷新界面代码: import UIKit class ViewController: UITableViewController { // 用 ...

  4. OC与Swift创建pod

    Cocoa pods 是iOS最常用的类库管理工具   OC的使用   删除源   sudo gem sources -r https://rubygems.org/ 添加源(使用淘宝的镜像,记住要用 ...

  5. win32 htmlayout点击按钮创建新窗口,以及按钮图片样式

    最近在做一个C++ win32的桌面图形程序,我不是C++程序员,做这个只是因为最近没什么java的活. windows api,之前接触的时候,还是大学,那时用这个开发打飞机游戏纯粹是娱乐.现在基本 ...

  6. iOS 利用for循环创建九宫格

    // 利用for循环创建九宫格 - (void)createScratchableLatex{ // 总列数 ; // 每一格的尺寸 CGFloat cellW = (self.frame.size. ...

  7. SELECTION-SCREEN 加按钮

    这是我喜欢的这种模式,选择屏加个新建按钮,直接跳转到主屏幕做单据. 选择屏就直接查询,双击查询结果跳转到主屏幕.... 做好编辑控制,事件处理...EVERYTHING IS SOOOOOOO NIC ...

  8. swift:创建表格UITableView

    用swift创建单元格和用iOS创建单元格形式基本相同,就是语法上有些异样.swift中调用成员方法不再使用[ ]来发送消息,而是使用.成员方法的形式调用成员函数.这种格式非常类似于java中的点成员 ...

  9. js动态创建的select2标签样式加载不上解决办法

    js动态创建的select2标签样式加载不上:调用select2的select2()函数来初始化一下: js抛出了Uncaught query function not defined for Sel ...

随机推荐

  1. 【Java入门提高篇】Day14 Java中的泛型初探

    泛型是一个很有意思也很重要的概念,本篇将简单介绍Java中的泛型特性,主要从以下角度讲解: 1.什么是泛型. 2.如何使用泛型. 3.泛型的好处. 1.什么是泛型? 泛型,字面意思便是参数化类型,平时 ...

  2. 【BZOJ1499】瑰丽华尔兹(动态规划)

    [BZOJ1499]瑰丽华尔兹(动态规划) 题面 BZOJ 题解 先写部分分 设\(f[t][i][j]\)表示当前在\(t\)时刻,位置在\(i,j\)时走的最多的步数 这样子每一步要么停要么走 时 ...

  3. Bzoj5093: 图的价值

    题面 Bzoj Sol 一张无向无重边自环的图的边数最多为\(\frac{n(n-1)}{2}\) 考虑每个点的贡献 \[n*2^{\frac{n(n-1)}{2} - (n-1)}\sum_{i=0 ...

  4. vue-过滤器filter

    vue-过滤器filter vue的过滤器一般在JavaScript 表达式的尾部,由"|"符号指示: 过滤器可以让我们的代码更加优美,一般可以用在时间格式化,首字母大写等等. 例 ...

  5. 详解MySQL数据类型

    原文地址http://www.cnblogs.com/xrq730/p/5260294.html,转载请注明出处,谢谢! 前言 很久没写文章,也有博友在我的有些文章中留言,希望我可以写一些文章,公司项 ...

  6. 分布式架构设计(一) --- 面向服务的体系架构 SOA

    1.1 基于TCP协议的RPC 1.1.1 RPC名词解释 RPC的全称是Remote Process Call,即远程过程调用,RPC的实现包括客户端和服务端,即服务调用方和服务提供方.服务调用方发 ...

  7. OAutho2 请求响应格式

    1.OAuth2.PasswordGrant REQUEST: POST /token HTTP/1.1 Host: localhost: Content-Type: application/x-ww ...

  8. 直播-rtmp学习

    RTMP(实时消息传输协议),官方介绍如下: Adobe’s Real Time Messaging Protocol (RTMP), an application-level protocol de ...

  9. 三方面搞定http协议之“状态码”

    当我们向服务器请求数据的时候,服务器会给我们一个反馈,告诉我们对待我们的请求,服务器处理得怎么样了,而这个反馈,是通过数字来传达的,这个数字就叫状态码. 状态码分为以下几种: 1xx:指示信息--表示 ...

  10. node.js-v6新版安装过程

    1.Node.js简介 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用 ...