前言

  • 结构体 这个结构体用来表示事物的坐标点和宽高度。
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. SQL 已有数据的表创建标识列
  2. Javascript编程风格
  3. 关于VR技术和未来发展---转
  4. Resources
  5. Setting property 'source' to 'org.eclipse.jst.jee.server
  6. Java私有构造函数不能阻止继承
  7. 6.cadence原理图下[原创]
  8. 剑指Offer38 数组所有数字出现两次,只有两个出现了一次,找出这两个数字
  9. mybatis generator自动生成 实体类, sqlmap配置文件 详细介绍
  10. Vector 的清空
  11. 转载:Java多线程中join方法的理解
  12. jsp的url后跟中文参数传参出现乱码
  13. iOS 无效的版本,提交成功,不出现版本号
  14. 引用 - PHP手册笔记
  15. B. Friends and Presents(Codeforces Round #275(div2)
  16. 解决Eclipse无法添加Tomcat服务器的问题
  17. Linux基础(七)
  18. android rss阅读器开发一点小技巧
  19. 集美大学网络1413第十五次作业成绩(团队十) -- 项目复审与事后分析(Beta版本)
  20. 设计一个字符串类String(C++练习题)

热门文章

  1. MFC学习(七) 单文档程序
  2. oracle删除多个分区表
  3. Python Twisted系列教程4:由Twisted支持的诗歌客户端
  4. 将Maven项目打包成可执行 jar文件(引用第三方jar)
  5. js取得前2位字符
  6. 微信小程序之 wx.getUserInfo引导用户授权问题
  7. oracle——存储过程参数
  8. leetcode893
  9. 「小程序JAVA实战」 小程序抽离公用方法进行模块化(12)
  10. 玩转angularJs——通过自定义ng-model,不仅仅只是input可以实现双向数据绑定