首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对视图中的子视图进行排序

问对视图中的子视图进行排序
EN

Stack Overflow用户
提问于 2014-07-01 06:25:55
回答 1查看 74关注 0票数 0

在我的应用程序中,我有一个视图,以动态的方式添加图像,例如,在900宽的视图中,插入3个图像,1个200宽,另一个350和另一个200,如果我们尝试添加一个400不合适,所以我们将这3个图像放在一起,最后离开150,如第一张图片所示。我需要的是这3张图片的排列方式,它们彼此之间的距离是一样的,就像第二张图片一样:

​

​

​

EN

回答 1

Stack Overflow用户

发布于 2014-07-01 07:24:58

假设这是视图边框的左右偏移:

代码语言:javascript
复制
double offset = 10.0;

这是视图的框架:

代码语言:javascript
复制
CGRect viewFrame = self.view.frame;

计算3个位置:

第一个很简单,因为立即开始(显然是在偏移量之后):

代码语言:javascript
复制
double firstViewPosX = offset;

最后一个很简单,因为从末端减去视图的宽度后立即开始:

代码语言:javascript
复制
double thirdViewPosX = viewFrame.size.width - thirdView.frame.size.width - offset;

中心需要取中间的空间,减去这个视图的宽度,然后除以2,将这个偏移量从第一个视图的末尾相加

代码语言:javascript
复制
double secondViewPosX = offset + firstView.size.width + (thirdViewPosX - offset - firstView.size.width - secondView.frame.size.width)/2.0;

要使最后一个更具可读性:

代码语言:javascript
复制
double endOfTheFirstViewX = offset + firstView.size.width;
double middleOffset = (thirdViewPosX - endOfTheFirstViewX - secondView.frame.size.width)/2.0;
double secondViewPosX = endOfTheFirstViewX + middleOffset;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24499869

复制
相关文章

相似问题

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