XCode 5 ImageView 在 ios 6 中消失

Posted

技术标签:

【中文标题】XCode 5 ImageView 在 ios 6 中消失【英文标题】:XCode 5 ImageView disappears in ios 6 【发布时间】:2013-10-22 15:11:25 【问题描述】:

我正在更新一个 iPhone 应用程序,并且最近将我的开发环境更新到 XCode 5。这样做时,修改了一个 xib 文件,我无法确定如何恢复它。图像视图在 ios 7 中正确显示,但在 iOS 7 之前的设备中缺失。但是,在同一个 xib 文件中,在横向视图上使用了相同的 Image View,并且看起来是正确的。我无法确定为什么这个图像视图只在这个 xib 文件的纵向视图上消失。项目中的所有其他人都是正确的。我很感激你的建议。提前致谢。

【问题讨论】:

如果没有任何代码示例、设置或屏幕截图,将非常非常非常难以帮助您。 建议使用版本控制可能为时已晚;-) 更严肃的一点是:尝试找出问题所在。从 NSLog 开始(如果你知道怎么做,可以在调试器中使用 po imageView)来查看你的 imageview 的框架。如果框架正确,请更改背景颜色,可能您的问题出在图像加载中。 我在 XCode 5 升级之前备份了该文件。当我试图恢复到那个版本时,XCode 5 不喜欢这个文件。我猜这些文件在升级中以某种方式被修改了。我尝试将图像视图更改为不同的图像以查看该图像是否会显示,但结果相同。这个地方没有图像在工作。我还尝试将一个从横向视图复制到纵向视图,但这也不起作用。这对我来说没有意义。 【参考方案1】:

这听起来像是自动布局中图像视图的问题。我建议你去 nib 文件检查器上的自动布局并将其关闭。这应该允许您以纵向模式查看视图。如果需要,您可以稍后重新启用。关闭自动布局后,尝试使用弹簧和支柱配置视图。如果这不能解决您的问题,请告知。

高级概念

图像视图在一个方向上可见但在另一个方向上不可见的事实表明您看到的问题涉及正确定位图像视图。两个主要领域包括 Xcode 5 中控件的定位。自动布局(需要在四个基本方向上创建约束)或“弹簧和支柱”(也称为自动调整大小)。我在下面给出了简要的解释。

嵌入式图像视图

您在 nib 文件中有一个图像视图(自动布局在情节提要上的工作方式相同,只是适用于多个视图)

自动布局和兼容性

您已确保禁用自动布局。

弹簧和支柱

Springs 和 struts 管理视图中图像视图的自动调整大小行为。

单击自动调整大小窗口(在大小检查器中)中的红线会改变图像视图在不同旋转中的行为。本质上,这管理了手机处于纵向或横向模式时图像视图的显示方式。

单击外部边界线将使图像视图紧贴边缘。单击内部垂直或水平箭头将强制图像视图扩展并在两个方向上填充适用区域。这些行为将由红色大矩形(下图)说明。

注意:如果您需要在 iOS6 设备上压缩、扩展或更改图像视图的位置,您可以在增量字段中添加数值。

参考文献

Tutorial on Springs/Struts vs AutoLayout。 Apple's Auto Layout Guide

【讨论】:

感谢您的回复。 nib 文件检查器上未启用自动布局。该图像在 iOS 7 中可见,但在早期版本中不可见。我对弹簧和支柱不熟悉。再次感谢您的建议。 @lilmmd - 我添加了两个关键参考,希望对您有所帮助。如前所述,问题的描述似乎表明布局存在问题,而不是图像视图简单地消失了。让我知道这些参考资料是否有帮助,或者您是否已解决问题。

以上是关于XCode 5 ImageView 在 ios 6 中消失的主要内容,如果未能解决你的问题,请参考以下文章

仪器显示内存泄漏 - Xcode 5 / iOS7

ios swift 3 xcode8 beta 圆角 imageView

在 Xcode 5 中支持 iOS 5 和 iOS 6

在 ios 的 Xcode 6 中运行 Xcode 5 项目

UITextView - 在 XCode 5 上设置字体不适用于 iOS 6

UITextView - 在 XCode 5 上设置字体不适用于 iOS 6