如何根据图像和文本的存在来对齐它们。例如,我有2个图像,我需要将它们垂直放置在另一个上面,但是当任何一个丢失(未提供)时,另一个应该垂直居中。
答案 0 :(得分:1)
此代码假设您具有基本的图像视图帧设置(大小和x位置)。 它在视图中垂直放置一组视图,间距相等。如果集合只有一个图像,它甚至可以居中。
UIImageView img1, img2;
List<UIView> subViews;
if (img1 != null)
{
subViews.Add(img1);
}
if (img2 != null)
{
subViews.Add(img2);
}
float totalHeight = 0;
foreach (UIView subView in views)
{
totalHeight += subView.Frame.Height;
}
float spacing = (this.Bounds.Height - totalHeight) / (subView.Length +1) ;
float currentY = 0;
foreach (UIView subView in subViews)
{
currentY += spacing;
if (subView.Superview == null)
{
this.Add (subView);
}
subView.Frame = new RectangleF(subView.Frame.X,currentY,subView.Frame.Width, subView.Frame.Height);
currentY += subView.Frame.Height;
}