在我的应用程序中,我有一个视图,以动态方式,我添加图像,例如,在900宽视图中,插入3个图像,1个200宽,另外350个和另外200个,如果我们尝试添加400不适合,那么我们将这3个图像彼此相邻放置,最后留下超过150,如第一张图片。我需要的是这三张图像的放置方式是彼此相同的距离,如第二张图片所示:
答案 0 :(得分:0)
假设这是视图边框的左右偏移:
double offset = 10.0;
这是视图的框架:
CGRect viewFrame = self.view.frame;
计算3个位置:
第一个很简单,因为立即开始(明显偏移后):
double firstViewPosX = offset;
最后一个很简单,因为从最后开始减去该视图的 width :
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;