ios自动布局-在图像上对齐文本

ios自动布局-在图像上对齐文本,ios,objective-c,autolayout,Ios,Objective C,Autolayout,我有一个由UIImage和UIExtLabel组成的视图。标签漂浮在语音气泡内的图像上方。这两个资源都位于一个设置为使用autolayout的xib文件中。UIImage固定到容器视图的前缘、顶边、后缘和底边。我尝试了很多方法,包括将UILabel以一定的间距固定到视图的左边缘和上边缘,并给它一个固定的宽度和高度。当整个xib被加载和缩放时,UILabel不可避免地会失去对齐。如何使用autolayout设置这样的视图?在我的用例中,UILabel是动态更新的,否则我只会将其渲染到图像中并处理它

我有一个由UIImage和UIExtLabel组成的视图。标签漂浮在语音气泡内的图像上方。这两个资源都位于一个设置为使用autolayout的xib文件中。UIImage固定到容器视图的前缘、顶边、后缘和底边。我尝试了很多方法,包括将UILabel以一定的间距固定到视图的左边缘和上边缘,并给它一个固定的宽度和高度。当整个xib被加载和缩放时,UILabel不可避免地会失去对齐。如何使用autolayout设置这样的视图?在我的用例中,UILabel是动态更新的,否则我只会将其渲染到图像中并处理它。

如果您希望文本始终在图像上方对齐,可以尝试首先将图像添加到.xib文件并添加其约束(最简单的左、上、右和下到容器)。然后添加UILabel。从这里单击标签,然后选择图像(按住Shift键并单击)。转到编辑器>对齐并从此处选择选项

左/右边缘将对齐UILabel的左/右边缘,以对齐UIImage的左/右边缘。上/下边缘将对齐UILabel的上/下边缘,以与UIImage的上/下边缘对齐。等等

但是,如果先选择UIImage,然后选择UILabel,则会将UIImage与UILabel的边对齐

编辑:


帮助解释了一个可能的解决方案。

恐怕这并不能真正解决我的问题。我试图将标签漂浮在图像上方,但不是与边缘对齐,而是与图像比例成比例地偏移边缘,这样当我缩放整个视图时,标签和图像之间的方向保持不变。哦,对不起,我误解了这个问题。因此,您基本上希望找到图像本身的实际大小,而不是UIImageView,然后将UILabel放置在适当的位置。。。这是对的吗?是的,我想是的。基本上,我有一个带有语音气泡和一些动态文本的图像视图。我希望动态文本始终与语音气泡对齐,就像它是图像的一部分一样。当容器视图被缩放时,我希望动态文本保持缩放并与语音气泡对齐。啊。。。嗯,我不确定这是否可以单独用autolayout来完成。不过我可能错了。有几种方法可以计算UIImageView中实际图像的高度,然后相应地调整文本大小,但我认为这正是使用autolayout试图避免的。你可以看到,如果你想走这条路,你会得到图像的实际大小。对不起,我帮不上忙了=(这就是我忽略的!在我的脑海中,我认为UIImageView是UIImage的代表,因为它们恰好在我的xib文件中大小相同。你是对的,我想在其中对齐UIImage。愚蠢的错误。感谢你帮助我澄清这一点,即使没有简单的方法通过自动布局来完成这一点。