首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混淆"CGRectMake“坐标

混淆"CGRectMake“坐标
EN

Stack Overflow用户
提问于 2012-03-01 17:07:27
回答 1查看 9.7K关注 0票数 1

从下面的代码

代码语言:javascript
复制
// yPos = 0, width = 100, height = 150
[imagesMutable enumerateObjectsUsingBlock: ^(UIScrollView verticalScroll, NSUInteger idx, BOOL *stop){
  [verticalScroll addSubView:[UIImageView setFrame:CGRectMake(0, yPos, width, height)]]
  // some code
  yPos += (height + 15)
}];

假设imagesMutable有3个对象。正如我从某处读到的,CGRectMake使用的是笛卡尔坐标(x = 0,y=0将位于左下角)。所以,它应该是

代码语言:javascript
复制
[verticalScroll addSubView:[UIImageView setFrame:CGRectMake(0, 0, 100, 150)]]
[verticalScroll addSubView:[UIImageView setFrame:CGRectMake(0, 165, 100, 150)]]
[verticalScroll addSubView:[UIImageView setFrame:CGRectMake(0, 330, 100, 150)]]

这应该意味着

代码语言:javascript
复制
First CGRectMake should has bottom left at (0, 0) and top right at (100, 150)
Second CGRectMake should has bottom left at (0, 165) and top right at (100, 315) 
Third CGRectMake should has bottom left at (0, 330) and top right at (100, 480)

然后,与imagesMutable的对象排序(1 -> 2 -> 3)相比,图像从上到下的顺序应该是3 -> 2 -> 1

但是为什么,当我启动应用程序时,它以1 -> 2 -> 3的顺序出现,与imagesMutable的对象排序相同?我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-01 17:10:52

(0,0)不是左下角而是左上角。

视图具有反转的y坐标,因此y随着您向下移动屏幕而增加。

票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9513352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档