新建基于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一些坐标和位置方法封装的更多相关文章

  1. iOS UIView常用的一些方法setNeedsDisplay和setNeedsLayout 区别

    1.UIView的setNeedsDisplay和setNeedsLayout方法 首先两个方法都是异步执行的.而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到  UI ...

  2. iOS - UIView

    前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppeara ...

  3. iOS开发之微信聊天工具栏的封装

    之前山寨了一个新浪微博(iOS开发之山寨版新浪微博小结),这几天就山寨个微信吧.之前已经把微信的视图结构简单的拖了一下(IOS开发之微信山寨版),今天就开始给微信加上具体的实现功能,那么就先从微信的聊 ...

  4. iOS开发 GET、POST请求方法(NSURLSession篇)

    NSURLConnection,在iOS9被宣布弃用,本文不使用NSURLConnection进行网络编程,有兴趣的童鞋可以参考: [iOS开发 GET.POST请求方法(NSURLConnectio ...

  5. 谈谈UIView的几个layout方法

    谈谈UIView的几个layout方法-layoutSubviews.layoutIfNeeded.setNeedsLayout...   最近在学习swift做动画,用到constraint的动画, ...

  6. C#的百度地图开发(三)依据坐标获取位置、商圈及周边信息

    原文:C#的百度地图开发(三)依据坐标获取位置.商圈及周边信息 我们得到了百度坐标,现在依据这一坐标来获取相应的信息.下面是相应的代码 public class BaiduMap { /// < ...

  7. iOS开发 GET、POST请求方法:NSURLSession篇

    NSURLConnection,在iOS 9被宣布弃用,本文不使用NSURLConnection进行网络编程,有兴趣的童鞋可以参考: iOS开发 GET.POST请求方法(NSURLConnectio ...

  8. Java&Selenium 模拟鼠标方法封装

    Java&Selenium 模拟鼠标方法封装 package util; import org.openqa.selenium.By; import org.openqa.selenium.W ...

  9. UIView的几个layout方法

    iOS layout的相关方法: 1,layoutSubviews 2,layoutIfNeeded 3,setNeedsLayout 4,setNeedsDisplay 5,drawRect 6,s ...

随机推荐

  1. 彻底关闭win10的自动更新,一定要坚持看到最后一页

    https://jingyan.baidu.com/article/9faa7231e7b78b473c28cbb6.html 是否好使我还在测试,不好使的话,再跟新 2018-05-20 今天电脑又 ...

  2. 【Win】编写简单的bat文件

    bat是dos下的批处理文件.批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd. ...

  3. 2018.08.17 洛谷P3135 [USACO16JAN]堡哞(前缀和处理)

    传送门 有趣的前缀和. 数据范围中的n≤200" role="presentation" style="position: relative;"> ...

  4. 关于调用Feign client超时得不到结果的问题

    需要在调用方的配置文件加入以下配置 hystrix.command.default.execution.timeout.enabled: false ribbon: ConnectTimeout: R ...

  5. 浅析基于AXIS框架的WebService

    一.写在前面 之前做项目用到了基于Axis的WebService,为了更进一步的理解和记忆,在这里通过代码实践和源码分析来完整的做一遍Axis的WebService以及对应的客户端调用实践,并和其它的 ...

  6. 用Git将项目发布在GitHub里

    转载自http://blog.csdn.net/u011572517/article/details/50537407,个人加了一些注意事项和解释. githud是一个程序员以后成长都会使用到的,先不 ...

  7. 使用vbs给PPT(包括公式)去背景

    在 视图—>宏 内新建宏 '终极版 Sub ReColor() Dim sld As Slide Dim sh As Shape For Each sld In ActivePresentati ...

  8. 批处理(bat)的注释方法

    前面两个批处理教程的转贴,写得实在是太好了,内容详实,语言风趣,举例清晰.说实话,原作者幽默的文风用来写 批处理教程,而不是写文学小说,实在是有些屈才,但这样优秀的教程,用在枯燥乏味的程序事业里,确实 ...

  9. MongoDB安装为Windows服务方法与注意事项

    MongoDB作为一个基于分布式文件存储的数据库,近两年大受追捧.数据灵活的存取方式和高效的处理使得它广泛用于互联网应用. 最近本人开始在Windows 32位平台下研究MongoDB的使用,为了方便 ...

  10. linux环境下的mysql,httpd以及与宿主机的调试问题总结

    1. 首先www服务器,在宿主主机浏览器无法访问? (1)修改linux的防火墙,允许宿主主机ip访问即可. (2)关闭防火墙,即可访问. service iptables stop; 2. mysq ...