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 ...
随机推荐
- ASP.NET页面动态添加js脚本
有时我们需要生成自己的JavaScript代码并在运行时动态添加到页面,接下来我们来看一下如何将生成的JavaScript代码动态添加到ASP.NET页面. 为了添加脚本,要将自定义的脚本在一个字符串 ...
- andriod 获取电池的信息
<?xml version="1.0"?> <LinearLayout android:orientation="vertical" andr ...
- Android Studio 第一次新建Android Gradle项目超级慢的解决方案
大家有什么问题,欢迎问我! 注:Android Studio在第一次新建一个Gradle项目时需要下载Gradle,所以启动很慢(Gradle-bin大约三十几兆),所以我们应该事先帮他下载好. 首先 ...
- 汇编语言--寄存器(cpu工作原理)
本文地址:http://www.cnblogs.com/archimedes/p/assembly-register.html,转载请注明源地址. 本文主要将介绍的是8086 CPU中的寄存器, 寄存 ...
- App开发流程之增加预编译头文件
在继续增加预编译头文件前,先稍等. Xcode为我们创建了一个模板项目,很棒!但有一点不太令人满意,问题就在下图中: 这是一个新项目的初始文件目录,几乎所有文件都在同一级目录下,随着项目文件数量急速增 ...
- UIAlertController弹出提示框
#import "RootViewController.h" #import "RootView.h" #define kColor arc4random() ...
- centos创建监控宝采集器及添加插件任务
官方的说明文档很不详细操作也有点小问题,故把操作记录如下. 操作系统环境: centos 5.8 python 2.4.3 创建采集器等操作这里就不说了,见官方文档:http://blog.jiank ...
- 《HTML5与CSS3实例教程》
<HTML5与CSS3实例教程> 基本信息 作者: (美)Brian P. Hogan 译者: 卢俊祥 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:97871153634 ...
- nginx设置反向代理后,页面上的js css文件无法加载
问题现象: nginx配置反向代理后,网页可以正常访问,但是页面上的js css文件无法加载,页面样式乱了. (1)nginx配置如下: (2)域名访问:js css文件无法加载: (3)IP访问:j ...
- FiddlerScript修改特定请求参数下的返回值
使用场景: api/Live/GetLiveList接口: (1)Type为1,接口返回直播列表 (2)Type为2,接口返回回放列表 现在想修改直播列表的返回值 思路: 利用FiddlerScrip ...