NSRange、NSPoint(CGPoint)、NSSize(CGSize)、NSRect(CGRect)
1、NSRange:
typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange;
NSRange本身是系统自定义的一个结构体的变量名;这个结构体用来表示事物的一个范围,通常是字符串里的字符范围或者集合里的元素范围;location表示该范围的起始位置,length表示该范围内所含的元素个数;比如”I love objective-c”中的”obj”可以用location为7,length为3的范围来表示。
NSRange range = NSMakeRange(, ); //其中NSMakeRange()函数是专门用来创建一个结构体并给NSRange类型结构体进行赋值的,按照系统底层结构体的声明顺序,8为location,10为Length。 NSRange range = NSMakeRange(, );
NSString *str = NSStringFromRange(range);
NSLog(@"%@", str); //其中NSStringFromRange()方法会把range这个结构体变成一个字符串便于打印。
2、NSPoint(CGPoint):
NSPoint和CGPoint是等价的;是系统自定义的一个结构体的变量名;
CGPoint p; //p.x = 1;
//p.y = 10; p = NSMakePoint(, );
p = CGPointMake(, ); // 常见的方式
NSString *str = NSStringFromPoint(p); NSLog(@"%@", str);
NSMakePoint()和CGPointMake()两个函数都可以快速创建一个CGPoint类型的结构体并进行赋值。NSStringFromPoint()函数会把p这个结构体变成一个字符串便于打印。
3、NSSize(CGSize):
NSSize和CGSize是等价的;是系统自定义的一个结构体的变量名;
CGSize size; // NSSize size; //size.width = 100;
//size.height = 90; size = NSMakeSize(, );
size = CGSizeMake(, ); NSString *str = NSStringFromSize(size);
NSLog(@"%@", str);
NSMakeSize()和CGSizeMake()两个函数都可以快速创建一个CGSize类型的结构体并进行赋值。NSStringFromSize()函数会把size这个结构体变成一个字符串便于打印。
4、NSRect(CGRect):
NSRect和CGRect是等价的;是系统自定义的一个结构体的变量名;CGRect中同时包括了CGPoint和CGSize。
NSRect rect; // CGRect rect; //rect.origin.x = 10;
//rect.origin.y = 11;
//rect.size.width = 100;
//rect.size.height = 90; rect = NSMakeRect(, , , );
rect = CGRectMake(, , , ); NSString *str = NSStringFromRect(rect);
NSLog(@"%@", str);
NSMakeRect()和CGRectMake()两个函数都可以快速创建一个CGRect类型的结构体并进行赋值。NSStringFromRect()函数会把rect这个结构体变成一个字符串便于打印。
NSRange、NSPoint(CGPoint)、NSSize(CGSize)、NSRect(CGRect)的更多相关文章
- CGPoint、CGSize、CGRect and UIView
首先要弄懂几个基本的概念. 一)三个结构体:CGPoint.CGSize.CGRect 1. CGPoint /* Points. */ struct CGPoint { CGFloat x; CGF ...
- iphone绘图的几个基本概念CGPoint、CGSize、CGRect、CGRectMake、window(窗口)、视图(view)
我一般情况下不会使用interface builder去画界面,而是用纯代码去创建界面,不是装B,而是刚从vi转到xcode不久,不太习惯interface builder而已.当然如果需要我也会使用 ...
- 将CGPoint、CGSize、CGRect等放进数组的方法
在oc中,数组中只能存放NSObject类型的数据,所以如果将CGPoint.CGSize.CGRect这些数据存到数组中,我们需要将他们转换为对象类型才可以, 可以借助NSValue,它是用来将基本 ...
- CGPoint、CGSize、CGRect、CGRectEdge的详细使用
http://blog.sina.com.cn/s/blog_953e22700101r7lz.html 在CGGeometry.h里的 CGPoint.CGSize.CGRect.CGRectEdg ...
- oc中将CGRect、CGSize、CGPoint等结构体转换为字符串
CGRect rect = CGRectMake(160, 230, 200, 200); CGPoint point = CGPointMake(20, 20); CGSize size = CG ...
- Objective-C中经常使用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect
Objective-C中经常使用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect 1 NSRange NSRange 的原型为 typedef struct _N ...
- CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset
一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...
- C#、JAVA操作Hadoop(HDFS、Map/Reduce)真实过程概述。组件、源码下载。无法解决:Response status code does not indicate success: 500。
一.Hadoop环境配置概述 三台虚拟机,操作系统为:Ubuntu 16.04. Hadoop版本:2.7.2 NameNode:192.168.72.132 DataNode:192.168.72. ...
- 教你一招:解决win10/win8.1系统在安装、卸载软件时出现2502、2503错误代码的问题
经常遇到win10/win8.1系统在安装.卸载软件时出现2502.2503错误代码的问题. 解决办法: 1.打开任务管理器后,切换到“详细信息”选项卡,找到explore.exe这个进程,然后结束进 ...
随机推荐
- 让UIScrollView、UITableView的滚动条一直显示
先用xcode5.1.1或更低版本创建一个Category,如图: 然后拷贝以下代码到刚创建的UIImageView+ForScrollView.m文件中: - (void) setAlpha:(fl ...
- 使用Xcode5开发时的icon取消高光效果
.在General中App Icons 使用Source--> AppIcon .在Images.xcassets 中依次添加对应尺寸的icon. .选中AppIcon ,在右侧第三个按钮下,勾 ...
- 导出用户列表到Excel的几种方法
最近客户在咨询着怎么把SharePoint上面的用户列表给到出Excel,查看了一下,SharePoint并没有提供直接可用的导出功能(虽然都是List,但就是不让你导出...) 网上搜索了一下,方法 ...
- 学习笔记2:前端PS切图
前端PS切图 一.Photoshop的界面设置 二.Photoshop的基本操作 三.Photoshop的传统切图 四.Photoshop的精准切图 五.Photoshop的扩展知识 视频学习:htt ...
- 十个顶级的C语言资源助你成为优秀的程序员
译者言:学习C语言,需要一点一滴,沉下心来,找个安静的地方,泡上一杯咖啡,在浓郁的香味中一起品味她.(by Boatman Yang) 人们通常认为计算机编程很烦,但是有些人却从中发现了乐趣.每一个程 ...
- Part 82 to 85 Talking about Generic queue, stack collection class
Part 82 Generic queue collection class Part 83 Generic stack collection class Part 84 Real tim ...
- AjaxPro框架
AjaxPro框架 本章主要了解Ajax框架,掌握Ajaxpro框架的配置以及应用. 内容如下,请点击AjaxPro框架查看:
- Swift 概述及Swift运算符和表达式
Swift 是用于设计 iOS 及 Mac OS X 应用的一门新 语言. Swift 特点 • Swift 保留了 C 与 Objective-C 的优点,并摒弃 其为了兼容 C 语言所 ...
- 20141212--C#对象比较
static void Main(string[] args) { Class2 oo = new Class2(); oo.shu = ; oo.zi = "你"; Class2 ...
- 济南学习 Day2 T2 am
[问题描述]有N个数,随机选择一段区间,如果这段区间的所有数的平均值在[l,r]中则你比较厉害.求你比较厉害的概率.[输入格式]第一行有三个数N,l,r,含义如上描述.接下来一行有