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

图片

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. Linux下使用Nginx端口转发出现502错误的一种解决办法

    今天圈里的一个朋友在配置完nfinx80端口转发到5000后,发现一个问题 问题描述: 正确配置了Nginx80端口转5000端口,在CentOS上把.Net core WebAPI站点上传到cent ...

  2. 经典面试问题: Top K 之 ---- 海量数据找出现次数最多或,不重复的。

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

  3. Luogu Dynamic Ranking (带修改的主席树)

    题目大意: 网址:https://www.luogu.org/problemnew/show/2617 给定一个序列a[1].a[2].....a[N],完成M个操作,操作有两种: [1]Q i j ...

  4. [POI2000]病毒

    题面 传送门 Sol 建出AC自动机后DFS能走的点,如果能走回来就可行 # include <bits/stdc++.h> # define IL inline # define RG ...

  5. USACO08MAR Land Acquisition

    斜率优化 # include <stdio.h> # include <stdlib.h> # include <iostream> # include <s ...

  6. [BZOJ3224] [Tyvj 1728] 普通平衡树 (treap)

    Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相 ...

  7. 【linux之链接,函数,随机数】

    一.链接 硬链接(hard link):同一个文件使用了多个别名.新建文件是已经存在的一个别名,,当原文件删除时,新建的文件仍然可以使用.硬链接和原来的文件没有什么区别,而且共享一个inode号.通过 ...

  8. Python 终端输出字体颜色

    终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关.             转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表 ...

  9. Linux中“is not in the sudoers file”解决方法

    当在终端执行sudo命令时,系统提示"hadoop is not in the sudoers file": 其实就是没有权限进行sudo,解决方法如下(这里假设用户名是cuser ...

  10. Django 2.0 学习(03):Django视图和URL(下)

    接上篇博文,继续分析Django基本流程. 编写第一个(view)视图函数 1.打开文件polls/views.py,输入下面的Python代码: from django.http import Ht ...