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


发布于 2014-07-01 07:24:58
假设这是视图边框的左右偏移:
double offset = 10.0;这是视图的框架:
CGRect viewFrame = self.view.frame;计算3个位置:
第一个很简单,因为立即开始(显然是在偏移量之后):
double firstViewPosX = offset;最后一个很简单,因为从末端减去视图的宽度后立即开始:
double thirdViewPosX = viewFrame.size.width - thirdView.frame.size.width - offset;中心需要取中间的空间,减去这个视图的宽度,然后除以2,将这个偏移量从第一个视图的末尾相加
double secondViewPosX = offset + firstView.size.width + (thirdViewPosX - offset - firstView.size.width - secondView.frame.size.width)/2.0;要使最后一个更具可读性:
double endOfTheFirstViewX = offset + firstView.size.width;
double middleOffset = (thirdViewPosX - endOfTheFirstViewX - secondView.frame.size.width)/2.0;
double secondViewPosX = endOfTheFirstViewX + middleOffset;https://stackoverflow.com/questions/24499869
复制相似问题