swift为UIView添加extension扩展frame
添加swift file:UIView+Extension
import UIKit
extension UIView {
// x
var x : CGFloat {
get {
return frame.origin.x
}
set(newVal) {
var tmpFrame : CGRect = frame
tmpFrame.origin.x = newVal
frame = tmpFrame
}
}
// y
var y : CGFloat {
get {
return frame.origin.y
}
set(newVal) {
var tmpFrame : CGRect = frame
tmpFrame.origin.y = newVal
frame = tmpFrame
}
}
// height
var height : CGFloat {
get {
return frame.size.height
}
set(newVal) {
var tmpFrame : CGRect = frame
tmpFrame.size.height = newVal
frame = tmpFrame
}
}
// width
var width : CGFloat {
get {
return frame.size.width
}
set(newVal) {
var tmpFrame : CGRect = frame
tmpFrame.size.width = newVal
frame = tmpFrame
}
}
// left
var left : CGFloat {
get {
return x
}
set(newVal) {
x = newVal
}
}
// right
var right : CGFloat {
get {
return x + width
}
set(newVal) {
x = newVal - width
}
}
// top
var top : CGFloat {
get {
return y
}
set(newVal) {
y = newVal
}
}
// bottom
var bottom : CGFloat {
get {
return y + height
}
set(newVal) {
y = newVal - height
}
}
var centerX : CGFloat {
get {
return center.x
}
set(newVal) {
center = CGPoint(x: newVal, y: center.y)
}
}
var centerY : CGFloat {
get {
return center.y
}
set(newVal) {
center = CGPoint(x: center.x, y: newVal)
}
}
var middleX : CGFloat {
get {
return width /
}
}
var middleY : CGFloat {
get {
return height /
}
}
var middlePoint : CGPoint {
get {
return CGPoint(x: middleX, y: middleY)
}
}
}
简单设置x/y/width/height
import UIKit
extension UIView {
//设置随机背景色
func backgroundColorRandom(){
self.backgroundColor = UIColor(red: CGFloat(CGFloat(random())/CGFloat(RAND_MAX)), green: CGFloat(CGFloat(random())/CGFloat(RAND_MAX)), blue: CGFloat(CGFloat(random())/CGFloat(RAND_MAX)), alpha: )
}
var x : CGFloat!{
get{return self.frame.origin.x
}
set(newX){
var rect : CGRect! = self.frame
rect.origin.x = newX
self.frame = rect
}
}
var y : CGFloat!{
get{
return self.frame.origin.y
}
set(newY){
var rect : CGRect! = self.frame
rect.origin.y = newY
self.frame = rect
}
}
var width : CGFloat!{
get{
return self.frame.size.width
}
set(newW){
var rect : CGRect! = self.frame
rect.size.width = newW
self.frame = rect
}
}
var height : CGFloat!{
get{
return self.frame.size.height
}
set(newH){
var rect : CGRect! = self.frame
rect.size.height = newH
self.frame = rect
}
}
}
相关链接:swift关于UIView设置frame值的extension
swift为UIView添加extension扩展frame的更多相关文章
- swift关于UIView设置frame值的extension
swift关于UIView设置frame值的extension 使用 说明 1. 使用如上图,很简单,不再赘述 2. 在extension给添加的计算属性提供getter,setter方法即可 源码 ...
- 【Swift 2.1】为 UIView 添加点击事件和点击效果
前言 UIView 不像 UIButton 加了点击事件就会有点击效果,体验要差不少,这里分别通过自定义和扩展来实现类似 UIButton 的效果. 声明 欢迎转载,但请保留文章原始出处:) 博客园: ...
- [Swift]在Swift中实现自增(++)、自减(--)运算符:利用extension扩展Int类
自增(++).自减(--)运算符主要用在For循环中,Swift有自己更简易的循环遍历方法,而且类似x- ++x这种代码不易维护. Swift为了营造自己的编码风格,树立自己的代码精神体系,已经不支持 ...
- linux下的redis安装以及php添加redis扩展
一.redis的安装 win版本详见: 下面是linux版本的安装步骤: step1.下载 http://redis.io/download下载完后直接make然后make install,注意sud ...
- [BS-29] 给UIView添加背景图片
给UIView添加背景图片 //默认情况下只能设置UIView的背景颜色,不能给UIView设置背景图片,但通过绘图知识可以做到 - (void)drawRect:(CGRect)rect { [su ...
- mongodb 安装、开启服务 和 php添加mongodb扩展
1.下载mongodb:https://www.mongodb.org/downloads#production (https://www.mongodb.org/dl/win32) 2.安装.配置 ...
- phpize 动态添加 PHP 扩展的错误及解决方案
使用phpize 动态添加 PHP 扩展是开发中经常需要做的事情,但是在 macOS 中,首次使用该功能必然会碰到一些错误,本文列出了这些错误的解决方法. 问题一: 执行 phpize 报错如下: $ ...
- 在Linux环境下给php添加mbstring扩展
1,今天在开发项目的时候使用了一个php函数(mb_strcut),运行代码时候提示报错"call to undefind function mb_strcut",首先检查下函数名 ...
- IOS学习之路十五(UIView 添加背景图片以及加边框)
怎样给UIview添加背景图片呢很简单,就是先给view添加一个subview,然后设为背景图片: 效果图如下: 很简单直接上代码: //设置内容 self.myTopView.backgroundC ...
随机推荐
- Microsoft Dynamics CRM 前瑞开发
做CRM开发最大的感受就是其前瑞开发过程中,调试起来比较麻烦,需要做一些断点还要配制一些浏览器设置,对新手来说比较困难.还有就是对REST调试,经常为了调试一个正确的结果而花费大量的时间.现在推荐一个 ...
- SharePoint部署工具SPSD
SharePoint Solution Deployer,绝对属于必备的SharePoint工具之一了. 下载,解压这个工具,会有如下的目录(没有Assemblies和DeployGAC.bat)解压 ...
- 如何启动或关闭oracle的归档(ARCHIVELOG)模式
参考文献: http://www.eygle.com/archives/2004/10/oracle_howtoeci.html 1.管理员身份连接数据库 C:\Users\Administrator ...
- 详解Paint的setMaskFilter(MaskFilter maskfilter)
一.setMaskFilter(MaskFilter maskfilter) setMaskFilter(MaskFilter maskfilter)是paint中的方法,它可以用来对图像进行一定的处 ...
- 在Android开发中使用Ant 一:环境的搭建及入门
配置Ant环境 下载Ant:http://ant.apache.org/bindownload.cgi 在windows上应该选择zip压缩包,将zip压缩包解压到一个目录. 打开系统环境变量,在系统 ...
- 【原】iOSCoreAnimation动画系列教程(二):CAKeyFrameAnimation【包会】
在上一篇专题文章[原]iOSCoreAnimation动画系列教程(一):CABasicAnimation[包会]中我们学习了iOS核心动画CoreAnimation中CABasicAnimation ...
- Java部分总结图片版(已经加上原图链接下载!!!)
Java基础知识图片版(原图下载链接)
- Angular动态注册组件(controller,service...)
使用angular的场景一般是应用类网站 这也意味着会有很多的controller,service,directive等等 正常情况下我们要把这些内容一次性下载并注册,由于文件较多,对首次加载的效率影 ...
- tomcat支持多少并发
作者:孟男男 来源:https://zhidao.baidu.com/question/1445941399668603020.html Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与 ...
- C语言指针学习(续)
五.数组和指针的关系 int array[10] = {0,1,2,3,4,5,6,7,8,9},value; ... ... value = array[0];//也可以写成 value = *ar ...