前言

  • 结构体 这个结构体用来表示事物的坐标点和宽高度。
typedef CGRect NSRect;

struct CGRect {
CGPoint origin;
CGSize size;
}; typedef struct CGRect CGRect;

1、NSRect 结构体变量的创建与调用

// NSRect 结构体变量的创建与赋值

// 先定义变量,再赋值
NSRect rect1;
rect1.origin.x = 6;
rect1.origin.y = 1;
rect1.size.width = 1;
rect1.size.height = 6; // 定义时直接赋值,或者 NSRect rect2 = {{7, 2}, {2, 7}};
NSRect rect2 = {7, 2, 2, 7}; // 给指定成员赋值
NSRect rect3 = {.size.height = 8, .size.width = 3, .origin.y = 3, .origin.x = 8}; // 使用函数赋值
NSRect rect4 = NSMakeRect(9, 4, 4, 9); // 使用等价的结构体定义,等价于 CGRect rect5 = CGRectMake(10, 5, 5, 10);
NSRect rect5 = CGRectMake(10, 5, 5, 10); // NSRect 结构体变量值的调用 NSLog(@"rect1: %.0f, %.0f, %.0f, %.0f", rect1.origin.x, rect1.origin.y, rect1.size.width, rect1.size.height);
NSLog(@"rect2: %.0f, %.0f, %.0f, %.0f", rect2.origin.x, rect2.origin.y, rect2.size.width, rect2.size.height);
NSLog(@"rect3: %.0f, %.0f, %.0f, %.0f", rect3.origin.x, rect3.origin.y, rect3.size.width, rect3.size.height);
NSLog(@"rect4: %.0f, %.0f, %.0f, %.0f", rect4.origin.x, rect4.origin.y, rect4.size.width, rect4.size.height);
NSLog(@"rect5: %.0f, %.0f, %.0f, %.0f", rect5.origin.x, rect5.origin.y, rect5.size.width, rect5.size.height);

2、NSRect 与 NSString 的相互转换

// NSRect 转 NSString
NSString *stringFronRect = NSStringFromRect(rect5); // NSString 转 NSRect
NSRect rect6 = NSRectFromString(stringFronRect);

最新文章

  1. Mac下python初学之Image库(PIL)
  2. 快速搭建VPN服务器
  3. 设置sublime text2/3中默认预览浏览器快捷键的方法
  4. javascript 中break、 continue、函数不能重载
  5. day3 python 集合 文件
  6. Apache模块管理
  7. codeforces Gym 100187B B. A Lot of Joy
  8. Python字典增删操作技巧简述
  9. Linux系统编程(15)——shell脚本语法
  10. 对于windows窗口的标题菜单栏的操作——删除/禁用 最小最大话和关闭
  11. #define WIN32_LEAN_AND_MEAN
  12. springboot入门_helloworld
  13. LeetCode算法题-Island Perimeter(Java实现)
  14. Hadoop Mapreduce中wordcount 过程解析
  15. css设置两行多余文字用..显示
  16. 数据结构(六)查找---多路查找树(B树)
  17. HDU1233 还是畅通工程【最小生成树】
  18. golang后台任务库
  19. rdesktop install notes
  20. 修改Jenkins的BUILD_NUMBER

热门文章

  1. web新特性 之 WebSocket
  2. CVE-2017-11882复现配合koadic
  3. generate_scripts
  4. oracle中,约束、表名、Index等的名称长度限制最大只能30个字符
  5. ubuntu16.04 双网卡绑定
  6. Linux 学习笔记之 --- select 与 poll 事件模型详解
  7. Swagger SpringBoot 集成
  8. C++深度解析教程学习笔记(5)面向对象
  9. RTMP_EnableWrite(rtmp)
  10. 创建maven工程时报错,解决方案