iOS-UIView一些坐标和位置方法封装

新建基于UIView扩展类 UIView+wkjFrame,此类是为了方便获取一些基于UIView类UI控件的坐标和位置的简化,直接引用即可
UIView+wkjFrame.h
- (CGPoint)origin;
- (void)setOrigin:(CGPoint) point; - (CGSize)size;
- (void)setSize:(CGSize) size; - (CGFloat)x;
- (void)setX:(CGFloat)x; - (CGFloat)y;
- (void)setY:(CGFloat)y; - (CGFloat)height;
- (void)setHeight:(CGFloat)height; - (CGFloat)width;
- (void)setWidth:(CGFloat)width; - (CGFloat)tail;
- (void)setTail:(CGFloat)tail; - (CGFloat)bottom;
- (void)setBottom:(CGFloat)bottom; - (CGFloat)right;
- (void)setRight:(CGFloat)right;
UIView+wkjFrame.m
#import "UIView+wkjFrame.h" @implementation UIView (wkjFrame)
- (CGPoint) origin {
return self.frame.origin;
} - (void) setOrigin:(CGPoint) point {
self.frame = CGRectMake(point.x, point.y, self.frame.size.width, self.frame.size.height);
} - (CGSize) size {
return self.frame.size;
} - (void) setSize:(CGSize) size {
self.frame = CGRectMake(self.x, self.y, size.width, size.height);
} - (CGFloat) x {
return self.frame.origin.x;
} - (void) setX:(CGFloat)x {
self.frame = CGRectMake(x, self.y, self.width, self.height);
} - (CGFloat) y {
return self.frame.origin.y;
}
- (void) setY:(CGFloat)y {
self.frame = CGRectMake(self.x, y, self.width, self.height);
} - (CGFloat) height {
return self.frame.size.height;
}
- (void)setHeight:(CGFloat)height {
self.frame = CGRectMake(self.x, self.y, self.width, height);
} - (CGFloat)width {
return self.frame.size.width;
}
- (void)setWidth:(CGFloat)width {
self.frame = CGRectMake(self.x, self.y, width, self.height);
} - (CGFloat)tail {
return self.y + self.height;
} - (void)setTail:(CGFloat)tail {
self.frame = CGRectMake(self.x, tail - self.height, self.width, self.height);
} - (CGFloat)bottom {
return self.tail;
} - (void)setBottom:(CGFloat)bottom {
[self setTail:bottom];
} - (CGFloat)right {
return self.x + self.width;
} - (void)setRight:(CGFloat)right {
self.frame = CGRectMake(right - self.width, self.y, self.width, self.height);
}
@end
iOS-UIView一些坐标和位置方法封装的更多相关文章
- iOS UIView常用的一些方法setNeedsDisplay和setNeedsLayout 区别
1.UIView的setNeedsDisplay和setNeedsLayout方法 首先两个方法都是异步执行的.而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到 UI ...
- iOS - UIView
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppeara ...
- iOS开发之微信聊天工具栏的封装
之前山寨了一个新浪微博(iOS开发之山寨版新浪微博小结),这几天就山寨个微信吧.之前已经把微信的视图结构简单的拖了一下(IOS开发之微信山寨版),今天就开始给微信加上具体的实现功能,那么就先从微信的聊 ...
- iOS开发 GET、POST请求方法(NSURLSession篇)
NSURLConnection,在iOS9被宣布弃用,本文不使用NSURLConnection进行网络编程,有兴趣的童鞋可以参考: [iOS开发 GET.POST请求方法(NSURLConnectio ...
- 谈谈UIView的几个layout方法
谈谈UIView的几个layout方法-layoutSubviews.layoutIfNeeded.setNeedsLayout... 最近在学习swift做动画,用到constraint的动画, ...
- C#的百度地图开发(三)依据坐标获取位置、商圈及周边信息
原文:C#的百度地图开发(三)依据坐标获取位置.商圈及周边信息 我们得到了百度坐标,现在依据这一坐标来获取相应的信息.下面是相应的代码 public class BaiduMap { /// < ...
- iOS开发 GET、POST请求方法:NSURLSession篇
NSURLConnection,在iOS 9被宣布弃用,本文不使用NSURLConnection进行网络编程,有兴趣的童鞋可以参考: iOS开发 GET.POST请求方法(NSURLConnectio ...
- Java&Selenium 模拟鼠标方法封装
Java&Selenium 模拟鼠标方法封装 package util; import org.openqa.selenium.By; import org.openqa.selenium.W ...
- UIView的几个layout方法
iOS layout的相关方法: 1,layoutSubviews 2,layoutIfNeeded 3,setNeedsLayout 4,setNeedsDisplay 5,drawRect 6,s ...
随机推荐
- Mybatis之拦截器原理(jdk动态代理优化版本)
在介绍Mybatis拦截器代码之前,我们先研究下jdk自带的动态代理及优化 其实动态代理也是一种设计模式...优于静态代理,同时动态代理我知道的有两种,一种是面向接口的jdk的代理,第二种是基于第三方 ...
- 让kbmmw 4.8 支持ios 64
随着xe8 的出来,其开始支持IOS 64 的编译了(不支持也没办法,从今年2月开始不支持ios 64 的应用 就不允许入住apple appstore,霸气呀).相信不少同学迫不及待的开始了ios6 ...
- 2018.09.18 atcoder Many Formulas(搜索)
传送门 感觉自己搜索能力退化了,这种弱智搜索写了整整5min,这样下去比赛会凉的. 看来得多练练题了. 代码: #include<bits/stdc++.h> #define ll lon ...
- Django基础(二)
https://www.cnblogs.com/yuanchenqi/articles/5716193.html
- sqlserver 清除日志
要使用Master数据库执行 DUMP TRANSACTION 数据库名 WITH NO_LOG 2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件-- ...
- timescale
`timescale 1ns/100ps 表示时延单位为1ns, 时延精度为100ps.`timescale 编译器指令在模块说明外部出现, 并且影响后面所有的时延值.
- Winfrom 嵌入word、excel实现源码
效果图: winform中嵌入word的方法有多种:调用API,使用webBroser或使用DSOFRAMER控件: API过于繁琐: webbroser读取小文件还行,大文件就太痛苦了: 所以还是选 ...
- VS 附加不上w3wp.exe
今天调用VS 附加不上w3wp.exe,其他的站点都能附加上,就有一个站附加不上,找了各种可能都没有解决,结果发现是版本被编译成release了,原来的配置都是debug的,不知道被谁给改成relea ...
- cmder简单使用
window命令行的替代工具cmder.至于为什么要找个替代cmd的工具,你懂得! 一 官网下载 http://gooseberrycreative.com/cmder/ 二 安装 1 直接解压 2 ...
- 相聚 桂林电子科技大学第三届ACM程序设计竞赛
题目链接:https://ac.nowcoder.com/acm/contest/558/D 就是求有多少块区域,用DFS就可以解决,一遇到一个1就从其开始深搜,将其所在的区域块覆灭(变为0),再遇到 ...