自动调整高度的UILabel用的UIImageView Interface Builder中的MonoTouch

问题描述 投票:1回答:1

我来自一个Android的背景,我会用height = wrap_content解决我的问题。我刚才这个标签作为底边框下方的UILabelUIImageView。但是,我不知道该标签将是如何长文本的是,当标签变大是有问题。我曾尝试设置

Label.Lines = 0;
Label.LineBreakMode = UILineBreakMode.WordWrap;
Label.SizeToFit();

这个包裹Label如果它的增长超过一行,但随后重叠它下面的图像。

所以我的问题是,如何让我的标签高度依赖于文本和显示一切楼下呢?我看过许多SO Q&A,他们大约AutoLayoutConstraints在Interface Builder发表评论,有人说你必须计算标签的高度,推动一切都在代码别人打倒?但他们都不是明确的步骤来实现这一点(特别是在MonoTouch中)

此外,该内容是在ScrollView所以我假设我将不得不计算,以设置了滚动的内容大小我的网页上每个标签高度?

xamarin.ios uiimageview interface-builder uilabel autolayout
1个回答
0
投票

你只需要一个底部约束添加到标签和图像,使底部边缘保持和当标签扩展图像视图被按下。

要添加您需要选择以期在故事板加约束,在右侧选择红色线下添加新的约束,如下图所示的约束。

constraint image

如果你区分滚动视图只包含一个标签和图像视图,你可以尝试添加左,右,顶部和底部边缘的标签和图像,并滚动视图会自动调整内容大小的都有。

但要确保滚动视图高度不大于屏幕高度。即;您需要将左,右,上,下边距设置为零。

enter image description here

要总结一下:

  1. 打开故事板文件。
  2. 左,右上下页边距添加到0滚动视图。
  3. 左,右顶部和底部边缘加入了标签的一个合适的值。
  4. 左右顶部和底部页边添加到图像视图的适当值。
© www.soinside.com 2019 - 2024. All rights reserved.