swift关于UIView设置frame值的extension

使用

说明

1. 使用如上图,很简单,不再赘述

2. 在extension给添加的计算属性提供getter,setter方法即可

源码

//
// UIView+SetRect.swift
// YouXianMing
//
// Created by YouXianMing on 15/9/29.
// Copyright © 2015年 YouXianMing All rights reserved.
// 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)
}
}
}

swift关于UIView设置frame值的extension的更多相关文章

  1. swift为UIView添加extension扩展frame

    添加swift file:UIView+Extension import UIKit extension UIView { // x var x : CGFloat { get { return fr ...

  2. Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...

  3. swift - UIView 设置背景色和背景图片

    代码如下: let page = UIView() page.frame = self.view.bounds //直接设置颜色 page.backgroundColor = UIColor.gree ...

  4. UIView 中 frame, bounds, center 属性的关系

    最近一直在学 iOS 开发,所以专门创建了这样一个类别,将自己学习中的一些问题整理,记录下来.由于自己是初学者,所以所写的文章非常基础,写这个类别一是为了给自己留下存 档,二是为了给和我有同样问题的初 ...

  5. 便利的初始化view以及设置tag值

    便利的初始化view以及设置tag值 效果 源码 https://github.com/YouXianMing/iOS-Project-Examples 中的 SetRect // // Access ...

  6. CALayer的position,anchorPoint属性 与UIView的frame 属性

    彻底理解CALayer的position,anchorPoint属性 与UIView的frame 属性 一.position,anchorPoint两者都是CALayer的属性,都是CGPoint点 ...

  7. iOS UIView设置圆角

    UIView设置圆角 1.比较简单的情况,UIView四个角都是圆角: UIView *aView = [[UIView alloc] init]; aView.frame = CGRectMake( ...

  8. UIView的frame和bounds区别

    UIView的frame和bounds区别 iOS中,大家肯定对view和frame都不陌生,我们设置view在父view中的位置和大小时,只需要设置frame就可以了. 可能大家也有查过网上的一些资 ...

  9. [UIKit学习]01.关于UIView,frame,bounds,center

    UIView是Cocoa大多控件的父类,本身不带事件. UIView的常见用法 @property(nonatomic,readonly) UIView *superview; 获得自己的父控件对象 ...

随机推荐

  1. tar 命令压缩时报错 tar: Removing leading `/' from member names

    在使用tar命令进行压缩打包的时候我们常常会遇到下面的错误.虽然它不会影响我们最后的压缩打包,但是间接说明了我们的命令是有问题的.接下来我们来看看解决的方法. 报错内容: [root@haha ~]# ...

  2. Innosetup(pascal)标签控件label换行

    Label1.AutoSize := false; //先关闭自适应 Label1.WordWrap := true; //开启换行

  3. 根据模板导出excel

    @RequestMapping(value = "/export", method = RequestMethod.GET) public void exportApprovals ...

  4. 求最短路径的三种算法: Ford, Dijkstra和Floyd

    Bellman-Ford算法 Bellman-Ford是一种容易理解的单源最短路径算法, Bellman-Ford算法需要两个数组进行辅助: dis[i]: 存储顶点i到源点已知最短路径 path[i ...

  5. IDF实验室—不难不易的js加密

    查看源代码 <html> <head> <script src="/tpl/wctf/Public/js/lib/jquery.js">< ...

  6. WinForm 多语言处理

    多语言处理工具我使用的是  SailingEase .NET Resources Tool ,好处是导出一个Excel,把具体翻译工作交给专业的人来做,翻译ok后再导入,缺点就是后续更改麻烦,添加一个 ...

  7. “App.exe 以附加有调试器,但没有将该调试器配置为调试此未经处理的异常。”

    目前不清楚原因,但是将项目文件放到C盘就可以正常调试运行. 记录一下

  8. C# 接口的隐式与显示实现及适应场景

    通俗的来讲,“显示接口实现”就是使用接口名称作为方法名的前缀;而传统的实现方式称之为:“隐式接口实现”.废话不说,例子如下: interface IAnimal { void Dog(); } cla ...

  9. JavaWeb项目WebContent下的资源文件无法引用

    JavaWeb项目引用资源的时候尽量使用绝对路径. 作者在帮助同学完善其JavaWeb项目端页面的时候,css样式文件怎么也引用不了. 第一个想到的是:是不是文件路径写错了? 于是,作者换了绝对路径, ...

  10. WireShark 过滤 SSDP

    在局域网中使用wireshark抓包过滤http的时候经常会出现一些干扰协议,例如SSDP,使用过滤条件"http"有可能出现N多ssdp包,如下图所示: SSDP:Simple ...