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)的更多相关文章

  1. CGPoint、CGSize、CGRect and UIView

    首先要弄懂几个基本的概念. 一)三个结构体:CGPoint.CGSize.CGRect 1. CGPoint /* Points. */ struct CGPoint { CGFloat x; CGF ...

  2. iphone绘图的几个基本概念CGPoint、CGSize、CGRect、CGRectMake、window(窗口)、视图(view)

    我一般情况下不会使用interface builder去画界面,而是用纯代码去创建界面,不是装B,而是刚从vi转到xcode不久,不太习惯interface builder而已.当然如果需要我也会使用 ...

  3. 将CGPoint、CGSize、CGRect等放进数组的方法

    在oc中,数组中只能存放NSObject类型的数据,所以如果将CGPoint.CGSize.CGRect这些数据存到数组中,我们需要将他们转换为对象类型才可以, 可以借助NSValue,它是用来将基本 ...

  4. CGPoint、CGSize、CGRect、CGRectEdge的详细使用

    http://blog.sina.com.cn/s/blog_953e22700101r7lz.html 在CGGeometry.h里的 CGPoint.CGSize.CGRect.CGRectEdg ...

  5. oc中将CGRect、CGSize、CGPoint等结构体转换为字符串

    CGRect rect = CGRectMake(160, 230, 200, 200); CGPoint point = CGPointMake(20, 20); CGSize size =  CG ...

  6. Objective-C中经常使用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect

    Objective-C中经常使用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect 1   NSRange NSRange 的原型为 typedef struct _N ...

  7. CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset

    一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...

  8. 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. ...

  9. 教你一招:解决win10/win8.1系统在安装、卸载软件时出现2502、2503错误代码的问题

    经常遇到win10/win8.1系统在安装.卸载软件时出现2502.2503错误代码的问题. 解决办法: 1.打开任务管理器后,切换到“详细信息”选项卡,找到explore.exe这个进程,然后结束进 ...

随机推荐

  1. 网络流sap算法模版

    递归版sap: #include<cstdio> #include<iostream> #include<cstring> #include<algorith ...

  2. 在ios7系统下,scrollView下移20像素

    从设备图库返回到scrollView时,scrollView会下移20像素,解决办法:self.edgesForExtendedLayout = UIRectEdgeNone; 如果加入此代码导致其他 ...

  3. Laravel-Administrator enum使用数字key

    参考连接:Enum filter with numeric values 修改Fields\Enum::build()方法 $options['options'][] = array( 'id' =& ...

  4. hdu3336

    Count the string Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  5. parseInt在IE8转换返回不相等(parseInt("08")返回0等以0开头大于7的数字串)

    描述 在IE8内核下parseInt("08")返回0,等以0开头大于7的数字串返回的值不相等 解决方法 parseInt当不指定radix时,当以0x开头时,s按照十六进制计算的 ...

  6. Wordpress 运行缓慢的解决方法

    原因为wordpress 3.8之后采用google字体所致.   修改 functions.php    //禁用Open Sans class Disable_Google_Fonts { pub ...

  7. Stimulsoft Reports筛选数据来绑定显示2个报表

    今天用Stimulsoft Reports做报表的时候,遇到一个问题,需要一个报表中显示2个报表视图,我在百度和博客园中搜索了一下,发现这方面的资料很少,我自己最后把问题解决了之后,整理了一下给大家分 ...

  8. Part 71 Code snippets in visual studio

  9. PHP 创建重用数据库连接函数 mysqli与PDO

    代码如下: 有兴趣的可以测试下 摘自于某书 <? php public function dbConnect( $usertype, $connectionType = 'mysqli' ) { ...

  10. VxWorks 6.9 内核编程指导之读书笔记 -- ISRs和Watchdog Timer

    中断服务程序 ISR 硬件中断处理是实时系统的关键,因为它是外部时间通知系统的方式. ISR亦称为中断处理函数,是对中断的正确响应.可以使用任何ISR连接到任何没有被VxWorks使用的中断上.当关联 ...