2015-10-07 57 views
0

我有一个文本应放置在图像上。现在图像覆盖文字,任何不可见的文字。我认为这是显示器的优先事项,但没有找到它们。告诉我如何指定文本应该画在图片上,而不是反过来。文本在单元格中的图像

enter image description here

enter image description here

调试视图 enter image description here

+1

尝试移动上方的层次结构的文本字段中的图像,否则从层次结构删除文本标签,并再次把它放在图像上! –

+0

@ Mr.T这是不可能的,图片仍然放在文本之上。 – user2759544

+1

尝试将子视图带到前面[parentView bringSubviewToFront:childView]; – George

回答

3

事情出现在导航栏(第二截图)的顺序是它们在绘制顺序。下部向下它们在以后他们被绘制。因此,目前您的图片视图将位于您的文字(以及其他所有内容)之后。

这实际上是它在界面生成器中显示的内容,因为您可以看到文本。

TBH,您的AutoLayout约束看起来有点怀疑给我。我怀疑他们正在将标签推离屏幕。我真的不认为你想要这样的限制。你不需要一个高度来开始,如果你想要标签居中,那么给它一个中心约束而不是一个主导约束。

究竟是什么给你的印象是图像在你的文字?你有没有在模拟器中试过视图调试器?

+0

Y,你是对的。领先优势+71应该是罪魁祸首! OP应该删除前导约束或centre.X约束 –

+0

我更新了照片。在我看来,这是背后的文字,因为我没有在日志中看到它,并且没有因为受到限制而出现任何错误。我改变了层次结构改变的限制,但我找不到答案( – user2759544

+0

在Xcode中使用View Debugger。https://developer.apple.com/library/ios/recipes/xcode_help-debugger/using_view_debugger/using_view_debugger.html Just just because你不能看到文本并不意味着它在图像背后,视图调试器会给你一个三维的屏幕视图,所以你可以找到文本的位置,我怀疑这些限制正在将它推到屏幕外面 – Fogmeister

0

你可以调用bringSubviewToFront方法代码[self.view bringSubviewToFront:self.label];

+0

从Interface Builder导航器中,文本已经在图像前面。 – Fogmeister

-1

我找到了解决方案 - 模式=看点飞度

+0

我很抱歉地说,但那绝对是垃圾。就像我在我的答案(几小时前)的评论中解释的那样,Interface Builder中出现了一个错误。 'mode = Aspect Fit'与文字或图片无关。这与图像的大小和裁剪方式有关。我发现有时候Interface Builder显示的顺序不正确。改变周围的观点修复它。 – Fogmeister

+0

就像洗牌视图一样,修复bug也会改变像内容模式这样的属性也可能修复bug。该模式与正在修复的内容无关。 – Fogmeister

+0

@Fogmeister对不起,我喜欢你的答案 – user2759544

相关问题